我正在制作一个菜单,我希望其中一个按钮在用户触摸它时做出响应,所以我制作了一个 CCMenu 的子类,以便添加 cctouchbegan 方法并在那里管理它。问题是我可以让它同时响应这两个东西(menuItem 和 cctouch),这正常吗?有没有办法强迫它做这两件事?提前谢谢你,如果你需要我把一些代码放在这里,请告诉我
问问题
510 次
2 回答
1
你应该看看CCMenu.m
——它已经ccTouchBegan
在 s 上实现并设置了一个选定的标志CCMenuItem
。您的方法可能不起作用,因为您正在窃取父类的消息。
您的子类应[super ccTouchBegan...]
首先调用,然后检查CCMenuItem
s 的选定状态以确定要在视觉上更改哪个按钮。
编辑:或者,更容易!-- 子类化适当的CCMenuItem
子类(例如)并从默认方法CCMenuItemSprite
重载该方法以包含您的视觉更改:selected
-(void) selected
{
[super selected];
//call method to update visuals here
}
于 2012-05-29T15:53:54.020 回答
0
您可以简单地创建自己的 CCLayer 子类,将其 isTouchEnabled 属性设置为 YES 并实现您想要的任何触摸逻辑
于 2012-05-29T11:52:55.063 回答