我创建了一个精灵,在sprite中我有一个这样的标签。
CCLabelTTF *myLabel = [CCLabelTTF
labelWithString:text
dimensions:CGSizeMake(mySpriteWidth*0.9, mySpriteHeight*0.9)
alignment:UITextAlignmentCenter
fontName:@"Helvetica Neue" fontSize:20.0f];
[myLabel setPosition: CGPointMake((mySpriteWidth/2.0f),(mySpriteHeight/2.0f))];
[mySprite addChild: myLabel];
如您所见,标签是mySprite的子项。
然后我使用此动作淡出精灵
id fadeOut = [CCFadeOut actionWithDuration:0.4];
精灵正确淡出,但标签继续在那里,傲慢地看着我......
这是一个错误还是我遗失了什么?感谢
我用来做淡化的代码就是:
CCSequence *sequence =[CCSequence actions:
fadeIn,
[CCDelayTime actionWithDuration:2.5],
fadeOut,
nil];
[mySprite runAction:sequence];
// [myLabel runAction:sequence];
将动作添加到标签,使其消失,但精灵停留在屏幕上...... :(
答案 0 :(得分:0)
你应该在淡入淡出完成后删除精灵。当它被删除时,如果你不打算再次使用它。或者,如果愿意,可以切换其可见性。
我不能100%确定淡出是否会回应其内在观点。它会影响从CCRGBAProtocol继承的对象
至少可以解决你的问题。如果您希望标签淡出,您也可以使用getChildByTag访问标签,以使其具有淡入淡出效果。
但是你需要创建一个新的淡入淡出效果,在cocos中实现动作的方式是2个对象可以运行相同的动作,后者将会。