Je n'ai jamais programmé de jeu, mais j'ai une douzaine d'années d'interfaces de programmation. Après avoir joué à quelques jeux sur mon Android, je me demande quelle langue est utilisée pour programmer des jeux comme Angry Birds, et comment une telle manipulation graphique peut se produire. Langues natives ou multiplateforme code?
Je vous remercie!
Je ne suis pas sûr, mais étant donné que de nombreux fichiers .lua se trouvent dans le dossier de l'application Angry Bird, je dirais qu'ils ont utilisé LUA à certains égards. Mais d'après ce que j'ai entendu, LUA n'est pas une langue principale, juste quelque chose avec lequel écrire. Cela dit, je ne suis pas non plus un programmeur obj-c, alors prenez mon mot avec un grain de sel.
Lien de suivi https://web.archive.org/web/20120502071633/http://blog.anscamobile.com/2010/04/lua-the-lingua-franca-of-iphone-games/
Les applications Android sont codées en Java avec le Android, les jeux iphone sont codés en Objective C
Le kit de développement Android est disponible ici http://developer.Android.com/index.html
kit de développement iphone (iOS) disponible ici (Attention nécessite un mac) http://developer.Apple.com/devcenter/ios/index.action
Comme les deux langages sont tous deux basés sur la syntaxe C, il y a beaucoup de compatibilité croisée entre les parties de base de votre code, mais les interactions avec le téléphone se font toutes les deux via les sdk respectifs, vous devrez donc apporter des modifications pour en tenir compte. . Il convient également de garder à l'esprit que l'Objectif C sur l'iPhone n'est pas collecté, vous devrez donc vous soucier de la gestion de la mémoire!
AngryBirds (et quelques autres jeux) utilisent du code C/++ et le NDK. Sources: Quelle langue a été utilisée pour programmer l'application 'Angry Birds'? , http://www.gamasutra.com/view/feature/6481/postmortem_vector_units_riptide_.php
J'ai toujours supposé que ces développeurs programmaient les fonctionnalités de base en c/c ++ et utilisaient ensuite des kits de développement natifs pour relier les deux. Par exemple, je sais que dans Android, vous pouvez utiliser le NDK pour envelopper Java autour de c/c ++
http://developer.Android.com/sdk/ndk/index.html
Ironiquement Java n'est pas le langage "construire une fois, exécuter partout" dans ce cas: p
Doit être au moins C pour le noyau. Si j'étais eux, j'écrirais le noyau en C et j'enroulerais Java autour de lui pour Android (je pense que vous pouvez le faire) et Objective C pour l'iPhone) (Je sais que tu peux le faire).