我想不断前进 屏幕(移动水平)和坏 人们出现并从各种攻击 玩家精灵的两面。这将 需要不断修改 图层上对象的值为 以及创造和破坏 它们。
有一个AppDelegate,它会激活HelloWorldLayer场景的CCDirector。
HellowWorldLayer.m创建了其他显示的内容,例如纹理和精灵。
现在,我应该向HelloWorldLayer添加逻辑以跟踪事物并生成/移动怪物,跟踪白天和夜晚的触发器吗?或者我应该创建另一个对象吗?
HelloWorldLayer拥有的对象是否能够访问HelloWorldLayer父对象并修改显示的内容并从中读取?
我应该创建一个新的Object来处理HelloWorldLayer之外的这个并实例化它吗?如果是这样,它是否可以访问HelloWorldLayer?
在HelloWorldLayer内部有init()方法可以创建所有内容,但我有点怀疑我应该把逻辑放在那里。
TL; RD:我应该在哪个对象中放置游戏循环'逻辑代码?
答案 0 :(得分:1)
我将游戏循环代码放入CCScene
对象中,该对象是HelloWorldLayer
的父对象。
起初我在主游戏CCLayer
内部进行了游戏循环,但是当我开始添加越来越多的图层时,尝试将对象从游戏图层添加到其他图层,例如UI图层,它变得令人费解。
自从我将它移动到CCScene
之后,似乎更加清晰,现在它还处理各个层之间的任何共享依赖关系。
我还选择将它放入CCScene
,而不是为此目的的全新类,因为我仍然希望能够使用cocos2d调度程序来触发循环的每次迭代。 。由于CCScene
仍然只是CCNode
,因此它可以访问此调度程序。