2009-03-05 30 views
5

Sử dụng cocos2d để phát triển trò chơi trên iPhone, tôi bị nhầm lẫn giữa Lớp và Cảnh. Ví dụ: Trò chơi đơn giản của tôi có một số "Trang giao diện người dùng" như menu chính, điểm cao, bảng trò chơi, v.v.Lớp so với cảnh trong Cocos2d để phát triển trò chơi iPhone

Vì vậy, tôi nên sử dụng Lớp hoặc Cảnh cho mọi "trang giao diện người dùng" và tại sao?

Trả lời

4

Rà soát SpritesDemo.m/h, có thể thấy rằng họ đang sử dụng Layer, và sau đó tạo ra cảnh mới, gắn các lớp và sau đó thay thế các cảnh trên giám đốc

@interface SpriteDemo : Layer 
@interface SpriteManual : SpriteDemo 

Mã này sau đó thực hiện các như sau:

Vì vậy, trong ngắn hạn, câu trả lời cho câu hỏi của bạn sẽ là "Giao diện người dùng", nhưng bạn đính kèm lớp vào cảnh mới và thay thế hiện tại cảnh trong đạo diễn.

+0

Bạn gần như cần ghi đè hàm CCLayer thay vì CCScene. Bằng cách này, bạn không cần phải ghi đè lên chức năng của CCScene. – Emadpres

0

Bạn thực sự không cần sử dụng Lớp trừ khi bạn nhận được một số loại đầu vào cảm ứng (vì đó là lớp duy nhất trong Cocos2D triển khai TouchEventsDelegate). Các bản demo hoạt động tốt nếu bạn đặt mã trực tiếp lên cảnh mà không có lớp, vì vậy, tôi có thể nói rằng họ chỉ làm điều đó để chứng minh chức năng Cocos2D khác (thêm trẻ em, vị trí thiết lập, v.v.).

2

Thật dễ dàng:

Chúng có CCLayer trong các ví dụ và phương pháp cảnh tạo cảnh mới và đính kèm lớp trên đó. Bởi vì một lớp không phải là "Trang Giao diện Người dùng" khi bạn đặt tên cho nó. Một cảnh là "Trang giao diện người dùng".

Trên cả hai (cảnh và lớp), bạn có thể thêm các lớp khác làm trẻ em. Vì vậy, bạn có thể xếp chồng lên bao nhiêu lớp tùy thích. Đây thực sự là một cách tốt để kích hoạt tính năng cảm ứng đa điểm - bằng cách tạo một lớp cho từng đối tượng của bạn và cho phép chạm vào các lớp đó. Tóm lại, cách họ đã làm nó là đúng, vì vậy bạn cũng nên làm việc với các lớp và sử dụng phương pháp + cảnh đó để đính kèm lớp chính vào cảnh.

Hy vọng điều này sẽ hữu ích. Xin lỗi vì tiếng Anh của tôi. Không phải bản địa.

Các vấn đề liên quan