ios 开发iPhone游戏需要什么?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/7224479/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
What is required to develop iPhone games?
提问by Oneiros
I'm new in iPhone programming but I have a good grounding in Java and I'm starting to understand how Objective-C works.
I'd like to start developing iOs games.
Do I need to study Open-GL?
Even for 2D games(like Angry Birds, Cut The Rope, Doodle Jumpor Tiny Wings)?
What do I need to learn to switch from simple UI apps (with buttons, sliders, labels etc.) to real games?
我是 iPhone 编程的新手,但我有很好的 Java 基础,我开始了解 Objective-C 的工作原理。
我想开始开发iOs 游戏。
我需要学习Open-GL吗?
即使是2D 游戏(如Angry Birds、Cut The Rope、Doodle Jump或Tiny Wings)?
我需要学习什么才能从简单的 UI 应用程序(带有按钮、滑块、标签等)切换到真正的游戏?
回答by Prime
First off, you need a developer account with Apple to publishgames on the iPhone app store.
首先,您需要一个 Apple 的开发者帐户才能在 iPhone 应用商店上发布游戏。
Second, you probably aren't going to be using Objective-C all that much for games programming. Its runtime binding just doesn't compare to the speed of C or C++ method calls.
其次,您可能不会将 Objective-C 用于游戏编程。它的运行时绑定无法与 C 或 C++ 方法调用的速度相提并论。
For any cross-platform game development (probably iPhone + Android) you will need OpenGL. OpenGL also happens to be the only way to make hardware-accelerated 3D games on either of these platforms.
对于任何跨平台游戏开发(可能是 iPhone + Android),您都需要 OpenGL。OpenGL 也恰好是在上述任一平台上制作硬件加速 3D 游戏的唯一途径。
My recommendation would be to learn OpenGL for iPhone games development. This has the added advantage of allowing you to write games for most other mobile platforms as well with minimal additional learning. You could of course use Apple's own 2D APIs for game development, but I wouldn't recommend it for the reasons previously stated.
我的建议是学习用于 iPhone 游戏开发的 OpenGL。这有一个额外的优势,即允许您为大多数其他移动平台编写游戏,并且只需最少的额外学习。您当然可以使用 Apple 自己的 2D API 进行游戏开发,但由于前面所述的原因,我不推荐它。
Games programming is an entirely different animal from applications development. I'd suggest starting simple.
游戏编程与应用程序开发完全不同。我建议从简单的开始。
Happy games programming! Its my favorite development field.
快乐游戏编程!它是我最喜欢的开发领域。
Edit: I realized I made OpenGL seem as if it is exclusively used for 2D games development, which isn't true at all. OpenGL is well-suited to 2D as well as 3D games development, although the majority of its material is focused on 3D programming. 2D programming with OpenGL is effectively setting the Z coordinate to 0.
编辑:我意识到我让 OpenGL 看起来好像专门用于 2D 游戏开发,这根本不是真的。OpenGL 非常适合 2D 和 3D 游戏开发,尽管其大部分材料都集中在 3D 编程上。使用 OpenGL 进行 2D 编程有效地将 Z 坐标设置为 0。
回答by Chamilyan
if your interested in making 3D games, check out Unity3Dfor iOS
如果您对制作 3D 游戏感兴趣,请查看Unity3Dfor iOS
http://unity3d.com/support/documentation/Manual/iphone-basic.html
http://unity3d.com/support/documentation/Manual/iphone-basic.html
Angry Birds was developed around the Box2D engine
Angry Birds 是围绕 Box2D 引擎开发的
http://www.box2d.org/features.html
http://www.box2d.org/features.html
.. and anecdotal wise the game developers didn't give the engine makers credit. (so don't make the same mistake when developing your game! :)
.. 有趣的是,游戏开发商并没有给予引擎制造商信任。(所以在开发游戏时不要犯同样的错误!:)
回答by rbgrn
You don't need to know OpenGL at all. There are some really nice engine options, such as my company's BatteryTech Enginewhich you simply say what you want to draw and where you want to draw it, what sound to play, etc in Lua (which is super easy) and you also deploy on Android and others. There are a bunch of other options too but this is the one I prefer, though I am of course biased :)
您根本不需要了解 OpenGL。有一些非常好的引擎选项,例如我公司的BatteryTech 引擎,您只需在 Lua 中说出您要绘制的内容以及要绘制的位置、播放的声音等(这非常容易),并且您还可以部署安卓等。还有很多其他选择,但这是我更喜欢的一个,尽管我当然有偏见:)
The others are right - you need an iOS Developer account and you still need to understand the basic structure of an XCode project and how Apple does things no matter what solution you use. I've published over a dozen games over the past 4 years so Let me know if you have any questions and I'll be happy to answer.
其他人是对的 - 您需要一个 iOS 开发人员帐户,并且您仍然需要了解 XCode 项目的基本结构以及无论您使用什么解决方案,Apple 都是如何做事的。在过去的 4 年里,我已经发布了十几款游戏,所以如果您有任何问题,请告诉我,我会很乐意回答。
Good luck!
祝你好运!
回答by user2326792
Cut the Ropeis actually created with HTML5/CSS3/Js...using the 'canvas' element... I'm interested in creating games like Cut the Rope too. You need to know how to create Sprite animations though, which are used with Css3's @keyframe property.
Cut the Rope实际上是用 HTML5/CSS3/Js 创建的……使用“canvas”元素……我也对创建像 Cut the Rope 这样的游戏很感兴趣。不过,您需要知道如何创建 Sprite 动画,这些动画与 Css3 的 @keyframe 属性一起使用。
But Unity3Dseems to be the best choice to develop 3D games on iOS and Android. If you know any 3D graphics application like Mayaor Blenderyou can create your very own 3D game by importing assets into unity... such an example here... http://www.eatsheep.com/
但Unity3D似乎是在iOS和Android上开发3D游戏的最佳选择。如果您了解Maya或Blender等任何 3D 图形应用程序,您可以通过将资产导入 unity 来创建您自己的 3D 游戏……这里有一个例子…… http://www.eatsheep.com/
In both the cases you need work with a 2D Game Artist and 3D modeler respectively, where as you can handle the development. good luck with that.
在这两种情况下,您都需要分别与 2D 游戏美术师和 3D 建模师合作,以便您可以进行开发。祝你好运。