2009-08-05 31 views
7

Tôi đang viết một trò chơi đơn giản làm hoạt hình nhanh hơn hình ảnh nền.Hoạt ảnh chính hoặc OpenGL cho trò chơi iPhone đơn giản

Hoạt ảnh chính/Quartz có đủ cho trường hợp này không?

Tôi thực sự không muốn tìm hiểu OpenGL ES nếu nó sẽ không cung cấp bất kỳ lợi ích đáng kể nào trong dự án này.

+2

Nếu bạn quyết định đi với Core Animation, hãy đảm bảo bạn kiểm tra nó trên thiết bị một cách bình thường trong khi phát triển! Nó có thể làm việc tốt trong mô phỏng nhưng chậm đến một cuộc khủng hoảng trên thiết bị nếu bạn đang làm quá nhiều! –

+2

Nhận xét của Ed là khá không liên quan - bất kể bạn đang làm gì, bạn nên thử nghiệm trên thiết bị vì trình mô phỏng chạy ở tốc độ màn hình của bạn chứ không phải iPhone của bạn. – Eli

+0

Cả hai đều tiết lộ sự chà xát của một vấn đề thường gặp về kỳ vọng phát triển di động. Ai đó mới phát triển di động * dự kiến ​​* mô phỏng chính xác, hoặc ít nhất là yêu cầu mẫu số chung ít nhất cho phần cứng. Một người thực hành phát triển di động, * biết * rằng họ vô vọng không chính xác và thiết bị là "chuẩn" thực sự được đo bằng. –

Trả lời

0

có, nó sẽ ổn thôi, miễn là bạn không muốn làm hàng trăm quả bóng cùng một lúc hoặc một cái gì đó khác phức tạp như thế.

+0

Thankyou ... BTW nó chỉ là một quả bóng tại một thời điểm, nhưng hình ảnh sẽ được hoạt hình (với một vài khung hình) khi nó bay trên màn hình khá nhanh. –

0

Nếu kiến ​​thức về Hoạt ảnh chính là tốt thì tôi khuyên bạn nên bỏ qua việc học OpenGL ES ngay bây giờ, vì nó sẽ không thực sự giúp bạn (nếu tất cả những gì bạn muốn là những gì bạn mô tả). Mặt khác, nếu bạn có kế hoạch tạo nhiều trò chơi hơn có đồ họa có liên quan nhiều hơn, có thể là một ý tưởng tốt hơn để bắt đầu học API. OpenGL ES là một API đơn giản và bạn có thể sử dụng các tính năng đồ họa đầy đủ của iPhone với nó.

Nếu tất cả những gì bạn muốn làm chỉ là thực hiện trò chơi này, thì tôi nói đi với những gì bạn biết và hiệu quả.

+0

Cảm ơn bạn đã trả lời. Tôi chưa từng sử dụng Core Animation hoặc OpenGL ES trước đây ... đây là một dự án ngắn. Vì vậy, tôi đang tìm cách tận dụng thời gian phát triển hiệu quả nhất, vì nó là một trò chơi rất đơn giản. –

0

Tôi sẽ nói điều này phụ thuộc rất nhiều vào những gì bạn muốn làm với quả bóng. Nếu bạn chỉ muốn kích hoạt một hoạt ảnh và quên nó, Core Animation có lẽ sẽ ổn. Tuy nhiên, nếu bạn đang cố gắng tương tác với quả bóng, ví dụ bằng cách thay đổi hướng của quả bóng giữa chuyến bay dựa trên tương tác của người dùng, thì bạn có thể muốn xem xét OpenGL ES. Tất nhiên, bạn là lựa chọn khác là sử dụng Core Animation hoặc OpenGL ES và chỉ vẽ lại chế độ xem của bạn trên bộ hẹn giờ.

Nếu bạn là một lập trình viên C khá giỏi, tôi sẽ không thể loại bỏ công cụ OpenGL ES. Apple cung cấp rất nhiều khuôn khổ để lưu trữ các khung nhìn OpenGL ES trong các mẫu của họ. Mặc dù OpenGL có thể tham gia khá nhiều, nếu bạn không cố gắng render các cảnh 3D đa đối tượng lớn thì những điều cơ bản là khá đơn giản và bạn sẽ có thể nhận được một số kết quả tốt đẹp khá dễ dàng. Mặc dù nó là dành cho OpenGL chứ không phải là OpenGL ES, tôi muốn giới thiệu này tập hợp các bản demo video như là một điểm khởi đầu tốt:

www.videotutorialsrock.com

+0

Thankyou Gavin để trả lời. Quả bóng sẽ được phóng từ dưới lên bằng cử chỉ vuốt. Sau đó, động tất cả các cách trên đầu (không có người dùng nhập vào trong thời gian này). Chỉ có một quả bóng sẽ được hiển thị cùng một lúc. Vì nó chỉ là một dự án một lần nhỏ, tôi muốn xác định xem liệu CA có ổn không ... không thể viết game trong tương lai (tôi thường làm các ứng dụng LOB). –

3

OpenGL ES Tôi cho rằng isnt quá khó.

Nhưng vào cuối ngày, Hoạt ảnh cốt lõi sẽ ổn, siêu mạnh và không khó để làm việc. Nó cũng sẽ giúp bạn và chạy nhanh đến mức bạn sẽ phát hành trò chơi "hút" một chút và bạn muốn thay đổi nó và thậm chí bạn không phải học OpenGL.

Tôi khuyên bạn nên xem xét cocos2d. Một công cụ trò chơi rất đơn giản cho những thứ 2d. http://cocos2d.org/

Hãy xem xét điều đó.

Chúc mừng, John

+0

Cảm ơn John, tôi sẽ xem xét động cơ. –

5
+0

Có, tôi đã làm điều này trước khi đăng. Trong situtation này trò chơi rất đơn giản và thực tế là nó có lẽ là một lần ... như tôi thường viết các ứng dụng LOB. –

1

Chỉ cần nhảy đến một cái gì đó giống như Cocos2D sao cho OpenGL được thực hiện cho bạn. OpenGL ES nhanh hơn và dễ điều chỉnh hơn so với Quartz, cộng với nó không khó hơn. Tôi thậm chí nghĩ rằng Quartz là một nỗi đau lớn ở mông và khó có thể nhận ra, mặc dù tôi đến từ một nền OpenGL trên máy tính để bàn đầu tiên, vì vậy tự nhiên mà nhảy là khá nhỏ. Vấn đề là, mặc dù, với Quartz hoặc OpenGL ES, bạn sẽ cần phải dành nhiều thời gian với việc quản lý tài nguyên, v.v., vì vậy bạn có thể đi với Cocos2D.

3

OpenGL ES không phải là khó, có rất nhiều tài nguyên thực sự tốt trên web và hướng dẫn từng bước. Có thể khó khăn lúc đầu, nhưng một khi bạn nhận được sự kìm kẹp của nó Mọi thứ sẽ dễ dàng. 71 Squared có hướng dẫn rất chi tiết:

http://www.71squared.co.uk/iphone-tutorials/

Về câu hỏi, Core Animation là rất lớn đối với hầu hết các ứng dụng, nhưng trong một videogame Đó là nền tảng để vẽ trò chơi của bạn một cách hiệu quả và có kiểm soát càng nhiều càng tốt.

Cocos2d Tuyệt vời và tôi khuyên bạn nên Nếu bạn cần viết một trò chơi hay, nhưng nếu bạn đang thực hiện nó cho mục đích giáo dục, tôi khuyên bạn nên sử dụng OpenGL, Bạn sẽ học được rất nhiều điều đó và đạt được nhiều kinh nghiệm.

+0

71 hướng dẫn bình phương là ngày nay. Bạn sẽ tìm thấy các hàm được sử dụng mà bây giờ đã được đổi tên hoặc đã được đặt chức năng của chúng. Hy vọng rằng họ sẽ cập nhật chúng. –

+0

Bạn có thể chỉ cho tôi đến bất kỳ nơi nào với hướng dẫn cập nhật, danh sách các sự khác biệt, v.v. ? Tôi rất muốn thực hiện bản thân mình, nhưng tôi không biết chức năng nào đã lỗi thời hoặc thay thế ngay bây giờ. –

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