我想创建一个模式对话框CCLayer
,作为暂停功能,显示人们重试、恢复或退出。
我添加了一个精灵来覆盖主层,并设置触摸不启用。但是主层的按钮也可以触摸。这个怎么做?如何向用户显示一种模式?
我想创建一个模式对话框CCLayer
,作为暂停功能,显示人们重试、恢复或退出。
我添加了一个精灵来覆盖主层,并设置触摸不启用。但是主层的按钮也可以触摸。这个怎么做?如何向用户显示一种模式?
我通过 HUD 层实现了这一点。我制作的每个游戏层都有一个 HUD 层覆盖。HUD 层有一个CCMenu
带有暂停图像的暂停游戏。
当玩家暂停游戏时,HUD 层会显示另一个CCMenu
重新启动、退出或恢复游戏。并且 HUD 还存储了一个BOOL
isPaused。在ccTouchBegan
(在游戏层上)我检查 HUD.isPaused 是否,如果是,则返回NO
,否则返回YES
。这解决了游戏中任何不必要的触摸。
setting isTouchEnabled:
disables taouches only to the layer, not to it's children. It means, that if your layer has touch delegate methods, they will not be called when isTouchEnabled:
is set to NO
. If you have CCMenu instance or other touchable child, you must change it's isTouchEnabled:
property separately.