gpt4 book ai didi

cocos2d-iphone - Cocos2d 最佳实践

转载 作者:行者123 更新时间:2023-12-04 06:52:31 25 4
gpt4 key购买 nike

我正处于 cocos2d 冒险的开始,有一些思想上的问题要问。我正在制作一个小型太空射击游戏,我可以使用以下类结构吗?

  • 场景
    • 背景层
      • 无限视差背景
    • 游戏层
      • 宇宙飞船
      • 子弹
    • 控制层
      • 操纵杆
      • 按钮

还有一个后续问题——从其他层访问对象的最佳实践是什么?例如,当摇杆更新时,它必须旋转宇宙飞船并移动背景。这两个都在其他层中。是否有一些推荐的方法来解决这个问题,或者我应该简单地通过 Tag 获取所需的对象并对它们进行操作?

最佳答案

Cocos 是一个基于单例的大型系统,可能对某些开发人员没有吸引力,但在 Cocos 应用程序中经常使用它,并且是框架的基础架构。如果您有一个主场景和许多后续层添加到该场景,并且您希望一个层的控件影响其他层上的 Sprite 或逻辑,那么将主场景设为单例并从操纵杆发送信息确实没有错图层返回场景以处理操纵其他图层或 Sprite 。我一直这样做,并且这种技术在书籍和在线的无数 Cocos 教程中都有使用,所以如果您这样做,您会觉得自己并没有违反太多规则(而且它也很容易做到)。

如果您改为选择在一层中使用指针将数据发送到其他层,这会给您带来很多麻烦,因为一个节点永远不应该拥有另一个与它没有特定父子关系的节点.这样做可能会在您稍后删除场景时导致 native Cocos 清理方法崩溃和问题,并可能导致内存泄漏。在这种情况下,您可以改用弱引用,但这仍然依赖于一层期望另一层始终存在,但情况可能并非如此。

将数据传回游戏主场景,再进行相应的调度和使用,效率非常高。

关于cocos2d-iphone - Cocos2d 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9225694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com