Objective-C游戏开发?

时间:2011-02-23 14:58:17

标签: objective-c game-engine

如果Apple像过去那样宣布他们自己的游戏机,我相信他们不会支持C ++ / C#游戏。所以我的问题是,Objective-C是如此快速有效地编写高效的游戏引擎吗?

4 个答案:

答案 0 :(得分:5)

Cocos2D是一个非常有效的Objective-C图形引擎,与Box2D物理引擎和CocosDenshion音频引擎一起,你可以制作一些非常好的游戏。

Objective-C 是一种快速,占地面积小的语言。看看它如何在最成功的嵌入式大众市场平台上运行 - iPhone。我不确定你给出的理由是什么C ++ / C#是游戏的更好选择?如上所述,here, cached message sends比C ++虚拟方法调用更快。

答案 1 :(得分:3)

Apple设备上的大多数游戏都是用C / C ++编写的,可能是Objective-C的薄外观。所以你指出一个非问题。

此外,Objective-C非常快,因为它只是C的超集。

答案 2 :(得分:2)

我确信Apple始终支持C ++。实际上不可能像使用Objective C那样编写优化游戏,例如Infinity Blade。 这样做的原因是语言的巨大灵活性(虽然在大多数情况下它是一个很大的优势,但不是在游戏开发中):它是使用运行时消息实现的,它使用了大量的隐式函数调用(在缓存中搜索,在方法中搜索) ,在超类缓存中搜索等)。

因此几乎所有东西都在运行时在ObjC中得到解决,并且处理需要很长时间。

答案 3 :(得分:2)

26年前,我使用C ++而不是C语言被嘲笑。现在差不多游戏开发者都在使用C ++。

同样,在我看来,趋势会变成目标c!

在Objective-c中使用C以获得更好的性能并不是放弃objective-c,而应该称为性能调优!