2010-12-13 68 views
13

Tôi chưa bao giờ lập trình một trò chơi, nhưng có khoảng một chục năm giao diện lập trình. Sau khi chơi một vài trò chơi trên điện thoại Android của tôi, tôi đang băn khoăn tự hỏi ngôn ngữ nào được sử dụng để lập trình các trò chơi như Angry Birds và cách thao tác đồ họa như vậy có thể xảy ra. Ngôn ngữ bản địa hoặc một số mã đa nền tảng?Ngôn ngữ nào được sử dụng để lập trình ứng dụng 'Angry Birds'?

Cảm ơn bạn!

Trả lời

9

Tôi không chắc chắn nhưng xem xét rằng khá một vài tệp .lua nằm trong thư mục ứng dụng chim giận dữ, tôi muốn nói rằng họ đã sử dụng LUA ở một số khía cạnh. Nhưng từ những gì tôi đã nghe, LUA không phải là ngôn ngữ chính, chỉ là một cái gì đó để viết kịch bản. Điều đó nói rằng, tôi không phải là một lập trình viên obj-c hoặc, vì vậy hãy dùng từ của tôi với một hạt muối.

Theo dõi liên kết https://web.archive.org/web/20120502071633/http://blog.anscamobile.com/2010/04/lua-the-lingua-franca-of-iphone-games/

+0

Đây là những gì tôi đang tìm kiếm. Donka! –

4

ứng dụng Android được mã hoá trong Java với bộ phát triển android, game iphone được mã hoá trong khách quan c

dev kit Android có sẵn ở đây http://developer.android.com/index.html

iphone (iOS) bộ phát triển có sẵn ở đây (Thận trọng đòi hỏi a mac) http://developer.apple.com/devcenter/ios/index.action

Vì hai ngôn ngữ đều dựa trên cú pháp C, có rất nhiều khả năng tương thích chéo giữa các phần cơ bản của mã của bạn, tuy nhiên, tương tác với điện thoại đều được thực hiện thông qua sdk tương ứng vì vậy bạn sẽ phải thay đổi tài khoản cho điều đó. Cũng đáng ghi nhớ là mục tiêu c trên iphone không phải là rác thu thập, do đó bạn sẽ cần phải lo lắng về quản lý bộ nhớ!

+0

Java không phải là tất cả dựa trên C, ngoài một số khía cạnh của cú pháp. –

+0

Tôi đã đề cập đến cú pháp, xin lỗi nếu điều đó không rõ ràng – Robb

+0

Tôi đã lập trình ứng dụng Android, có lẽ tôi nên nói vậy. Tôi không chắc đó có phải là Java thẳng hay cái gì khác. Cảm ơn bạn cho câu trả lời rõ ràng mặc dù. –

1

Phải là C cho lõi ít ​​nhất. Nếu tôi là họ, tôi sẽ viết cốt lõi trong C và bọc java xung quanh nó cho android (tôi nghĩ rằng bạn có thể làm điều đó) và mục tiêu c cho iPhone (tôi biết bạn có thể làm điều đó).

+3

Tại sao nó phải là C cho lõi? – aioobe

+1

C là nền tảng chéo có nghĩa là bạn có thể biên dịch nó cho cả android (nếu tôi hiểu chính xác, tôi không phải là một lập trình viên Android) và iPhone. Tôi đã sửa lại câu trả lời của mình. –

+0

cho câu trả lời Android là CÓ - bạn có thể tạo một lõi trong ngôn ngữ C và bọc nó với JNI để có thể sử dụng nó từ Java (Android sdk). – Mark

1

tôi luôn luôn giả định rằng những chức năng cốt lõi chương trình phát triển trong c/C++ và sau đó sử dụng bộ dụng cụ phát triển có nguồn gốc từ liên kết hai. Ví dụ tôi biết trong phát triển Android bạn có thể sử dụng NDK để quấn java xung quanh c/C++

http://developer.android.com/sdk/ndk/index.html

Trớ trêu thay Java không phải là "xây dựng một lần, chạy mỗi ở khắp mọi nơi" ngôn ngữ trong trường hợp này: p

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