【问题标题】:Cocos2d: how can I get a CCMenu item to call a selector once unselected?Cocos2d:一旦取消选择,我怎样才能让 CCMenu 项目调用选择器?
【发布时间】:2012-10-19 09:59:47
【问题描述】:

如何让 CCMenu 项目在取消选择后调用选择器?

这甚至可能吗?

当添加一个 CCMenuItem 时,我可以指定一个在按钮激活时调用的函数作为选择器。我想要的是一旦按钮不再被“选中”(我的意思是被选中且未激活),就能够调用一个函数。

我想我必须重写一些方法,但不确定是哪一个:)。

有什么建议吗?

【问题讨论】:

    标签: ios cocos2d-iphone ccmenuitem


    【解决方案1】:

    子类 CCMenuItemWhatever 并覆盖一个方法(派生自 CCMenuItem):

    -(void) unselected{
        [super unselected];
        [self myUnselectedExtension];
    }
    
    -(void) myUnselectedExtension{
        // whatever is your need , do it here.
    }
    

    【讨论】:

      【解决方案2】:

      不修改 CCMenu 是不可能的。

      但是,您可以运行计划更新并检查菜单项的每个 selected 属性,并观察与先前选定状态的任何变化(例如存储在 ivar 中)。

      【讨论】:

      • 我不介意修改 CCMenu 的子类。但不确定从哪里开始。我想我可以在 CCMenu 子类中有一个额外的方法,它对所有选定的属性进行“布尔与”并返回真或假。这与您的更新建议相结合应该可以。我会尝试,所以现在我赞成,然后,一旦尝试,我会接受。谢谢:)
      猜你喜欢
      • 2023-01-19
      • 2016-04-04
      • 2020-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多