我想创建一个带有CCLayer
的模态对话框,作为暂停功能,显示人们重试,恢复或退出。
我添加了一个精灵来覆盖主图层,并且设置触摸未启用。但也可以触摸主层中的按钮。 这该怎么做? 如何向用户显示一个模态?
答案 0 :(得分:0)
设置isTouchEnabled:
仅对图层禁用taouches,而不对其子图标禁用。这意味着,如果您的图层具有触摸委托方法,则isTouchEnabled:
设置为NO
时不会调用它们。如果你有CCMenu实例或其他可触摸的孩子,你必须单独更改它的isTouchEnabled:
属性。
答案 1 :(得分:0)
我用HUD层实现了这个目标。我制作的每个游戏图层都覆盖了一个HUD图层。 HUD图层有一个CCMenu
,暂停图片暂停游戏。
当玩家暂停游戏时,HUD图层显示另一个CCMenu
重启,退出或恢复游戏。并且HUD还存储BOOL
isPaused。在ccTouchBegan
(在游戏层)我检查HUD.isPaused是否返回NO
,否则返回YES
。这解决了游戏中任何不必要的触摸。