答案 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)
同样,在我看来,趋势会变成目标c!
在Objective-c中使用C以获得更好的性能并不是放弃objective-c,而应该称为性能调优!