Quartz là API đồ họa 2D của Apple. Nó thường không được sử dụng cho các trò chơi chuyên sâu về hiệu suất, bởi vì bạn có thể có được hiệu suất tốt hơn bằng cách sử dụng trực tiếp OpenGL hoặc bằng cách sử dụng một số khung làm việc mỏng cho trò chơi. (Đó là những gì Cocos2D cung cấp.) Các công cụ va chạm là độc lập trên cuộc tranh luận này, vì các va chạm thường được tính toán mà không biết bất cứ điều gì về đại diện đồ họa của các đối tượng va chạm.
Mối quan hệ giữa động cơ va chạm (hoặc vật lý chung) và lớp đồ họa chính xác là mối quan hệ giữa mô hình và chế độ xem trong mẫu MVC. Trong mỗi khung hình, bạn di chuyển thế giới vật lý một chút về phía trước (vật lý) và sau đó bạn vẽ các đối tượng lên vị trí mới của chúng (đồ họa).
Trong thực tế, mô hình và chế độ xem đôi khi pha trộn một chút để làm cho mọi việc nhanh hơn, nhưng về nguyên tắc chúng là những thứ hoàn toàn riêng biệt. Điều đó có nghĩa là bạn có thể chọn bất kỳ sự kết hợp nào có thể của OpenGL, Quartz hoặc Cocos2D như engine đồ họa và Box2D hoặc Chipmunk như động cơ vật lý và có được một trò chơi phong nha. Tôi không chắc các kết hợp cụ thể hoạt động tốt như thế nào - nếu đó là câu hỏi của bạn, thì tôi đã lãng phí một vài phút trong cuộc sống của bạn :-)
Cảm ơn rất nhiều! Tất cả các câu trả lời tuyệt vời. Từ đó tôi đã chơi với một hướng dẫn Cocos2D + Box2D và giờ đây rõ ràng hơn nhiều về khái niệm này. – Delta2038