我是一个 UI 爱好者——我游戏中的每个“屏幕”都应该在它出现或消失时转换进/出。因为我的游戏在资源方面很简单,所以我想我只需让每个“屏幕”成为 CCLayer 并为转换定义一个函数,将所有内容留在内存中。结果比我预想的要复杂。
我想我现在有两个主要问题:
1)每个“屏幕”都是一个CCLayer。这看起来不错,但我似乎无法停止接收触摸事件,即使它们处于非活动状态。子精灵似乎不尊重 isTouchEnabled 属性,所以我一直在点击不可见的按钮。
2)我写了一个自定义按钮类,它基本上是一个带有一些单独的状态纹理的精灵。它使用 CCTargetedTouchDelegate 协议。我认为这是上述问题的很大一部分。
我不太清楚 CCMenu 的东西。是否有教程或文档可以更好地解释其设计目的以及如何使用它?cocos2d 的文档根本没有讨论每个类的作用,这使得正确使用该库变得更加困难。另外,我什么时候应该使用场景而不是图层?我可以编写自定义过渡吗?