当我点击CCLabelTTF制作的CCMenuItemLabel时,我得到的是那个动画,文本在被点击的时候增加了大小,并且这些动画都让我的界面变得很糟糕。我如何解决这个问题?我不希望菜单对点击作出反应。我在CCMenuItemLabel或CCMenuItem或CCMenu中没有发现任何相关内容。如何防止CCMenuItemLabel或CCMenu在点击时更改字体大小?
我已经找到了CCMenuItemLabel验证码:
-(void) selected
{
// subclass to change the default action
if(_isEnabled) {
[super selected];
CCAction *action = [self getActionByTag:kCCZoomActionTag];
if(action)
[self stopAction:action];
else
_originalScale = self.scale;
CCAction *zoomAction = [CCScaleTo actionWithDuration:0.1f scale:_originalScale * 1.2f];
zoomAction.tag = kCCZoomActionTag;
[self runAction:zoomAction];
}
}
-(void) unselected
{
// subclass to change the default action
if(_isEnabled) {
[super unselected];
[self stopActionByTag:kCCZoomActionTag];
CCAction *zoomAction = [CCScaleTo actionWithDuration:0.1f scale:_originalScale];
zoomAction.tag = kCCZoomActionTag;
[self runAction:zoomAction];
}
}
事实证明,它运行缩放动作,任何方法来覆盖这个子类以外的菜单项?
再次搜索菜单/项目代码以使用“scale”(属性或动作),它在某处。 – LearnCocos2D 2013-05-13 20:48:00
@ LearnCocos2D编辑问题 – Dvole 2013-05-13 21:01:52
我结束了继承而不是[super selected/unselected],这样这段代码就不会被调用。然而,我在我的方法中实现了这个代码的超级中的任何东西:CCMenuItem类(简单,查看它)。无论哪种方式,像我这样的子类化或直接修改CCMenuItemLabel是一个糟糕的选择:两者都给我一个可维护性问题。 – YvesLeBorg 2013-05-13 21:21:54