问题标签 [cclayer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - 触摸由两层处理
我有一个CCLayer
包含许多其他CCLayer
s (如文本项目等)。我CCLayer
在左侧有另一个我想显示这些“场景”的缩略图。
左手CCScrollLayer
应响应其范围内的触摸,而右手层中的元素应响应其各自范围内的触摸。
我看到的问题是,当我在右侧拖动一个图层时,CCScrollLayer
左侧的响应和滚动。当我滚动滚动层时,右侧的元素不受影响。好像CCScrollLayer
' 的边界太大了,这不是因为我什至故意将它们设置为 100 像素宽。在这里工作是否有无法解释的行为?
timer - 定时器条件被传递两次,使用 cocos2d 调度器
我一生都无法弄清楚为什么会发生这种情况。我有一个从 CCLayer 派生的类。我在初始化类时像这样安排方法调用
方法是
但是,当我运行程序时,控制台语句显示每个冷却时间都通过了两次条件
012-06-29 09:52:57.667 测试游戏[5193:707] 播放空闲动画
2012-06-29 09:52:57.701 测试游戏[5193:707] 播放空闲动画
2012-06-29 09:53:05.750 测试游戏[5193:707] 播放空闲动画
2012-06-29 09:53:05.851 测试游戏[5193:707] 播放空闲动画
我正在尝试修复当我播放完空闲动画时游戏崩溃的错误,我确信这与它有关。
memory-management - 将 cclayer 传递给我的对象时的内存问题
我有一个 CCLayer,我想在其中添加许多按钮。我用这个初始化函数创建了 MyButton 类:
}
这个初始化函数会将按钮添加到图层中,并且我正在管理 MyButton 类中的所有行为(移动、图像更改)。
所以图层被发送到所有 MyButton 实例。在释放每个按钮之前,该层不会调用 dealloc 方法。
这些按钮通过数组添加到图层中:
我的问题是当我替换这个场景时,没有调用MyButton的dealloc方法,也没有释放内存,导致[_buttons release]在图层的dealloc方法中,也没有被调用,导致该层已传递给每个按钮。
一团糟。谁能告诉我解决此内存问题的最佳方法?
- 编辑
如果我在调用 replaceScene 之前尝试手动释放按钮数组,每个按钮都会调用 dealloc,但随后我收到以下错误消息:
iphone - 启用多点触控的 CCLayers,顶层不消耗触控
我有 2 个 CCLayer 堆叠在一起;两者都启用了触摸功能。我希望顶层 CCLayer 响应并消耗触摸,而底层不对顶层消耗的触摸做出反应。
顶层有一个 CCTouchBegan 方法,如下所示:
底层有一个 CCTouchesEnded 方法,如下所示:
结果是顶层根本不消耗触摸甚至响应它们。只有底层响应触摸。
iphone - cocos2d中如何推送场景并传递参数
我想知道是否有办法在 cocos2d 2.0 中推送场景并将一些参数传递给这个推送的场景,例如,我知道要推送一个场景我使用这个:
这推动了helloworldlayer,这是一个简单的层:
但我想向该层传递一些参数,所以当层被推送时,我可以使用我传递的参数。
我该怎么做?
cocos2d-iphone - 在另一个之上添加 cclayer
我想在另一个之上添加一个 cclayer。我已经通过使用以下代码进行了尝试
但可能会有一些错误,因为当我尝试在 newLayer 上添加一些东西时,它说使用未声明的变量,即使在 .h 文件中也声明了它。
你能帮我详细的代码吗?
iphone - HUD 图层未添加到我的场景中
我有一个 CCScene,它已经保存了我的 gameLayer,我正在尝试在其上添加 HUD 层。但是 HUD 层没有添加到我的场景中,我可以这么说,因为我已经在 HUD 层上设置了 CCLabel,当我运行时我的项目,我看不到那个标签。
这就是我正在做的事情:在我的gameLayer中:
然后在我的 HUD 层中,我刚刚在它的 init 方法中添加了一个 CCLabelTTF,如下所示:
但是现在当我运行我的项目时,我看不到那个标签,我在这里做错了什么......?
有任何想法吗.. ?
在此先感谢您的时间。
iphone - 未在我的场景中添加新图层
我有一个 CCScene,它已经保存了我的 gameLayer,我正在尝试在其上添加 HUD 层。但是 HUD 层没有添加到我的场景中,我可以这么说,因为我已经在 HUD 层上设置了 CCLabel,当我运行时我的项目,我看不到那个标签。
这就是我正在做的事情:在我的gameLayer中:
然后在我的 HUD 层中,我刚刚在它的 init 方法中添加了一个 CCLabelTTF,如下所示:
但是现在当我运行我的项目时,我看不到那个标签,我在这里做错了什么......?
也没有调用 HUD 层中的 init 方法。
有任何想法吗.. ?
在此先感谢您的时间。
cocos2d-iphone - 2个CClayer之间的通信
//在类 Ah -> 代码中:
在 Am 类 -> 代码中:
//在 Bh 代码中:
//在 Bm 代码中:
通过这样做,所有这些东西我都可以从另一个类(即 B 类)添加 LHSprite,但不是它的主体。我应该做些什么改变来添加我添加的 LHSprite 的主体?
亲切的问候,堆栈。
ios - cocos2d 不能异步添加子
我需要从数据库中检索一些数据以显示在屏幕上。我想避免应用程序阻塞,因此在检索任何数据并添加数据之前显示下一个屏幕。
这是在屏幕上添加我需要的信息的方法:
generateInfoForPlayerWithId:tag:sender: 方法可能会阻塞,这就是我将它放在自己的线程中的原因。我在主线程中添加菜单,因为它是 UI 更新。
我确信 infoMenu 是正确的 CCMenu* 对象。
当我没有注释掉 // (1) 指示的行时,我得到一个 EXC_BAD_ACCESS。