Cocos2D:旋转CCMenu的问题
问题描述:
如果我尝试对menuItem执行操作,但操作未按预期运行。Cocos2D:旋转CCMenu的问题
我认为下面的代码应该使menuItem旋转90度,但是当我运行它时,menuItem从它的坐标转换到另一个坐标,然后返回到它的原始坐标。完整的翻译需要3秒钟。
我需要的是menuItem在3秒的持续时间内旋转90度。请解释我做错了什么地方?
CCMenuItemImage *targetE;//Globally declared
CCMenu *menu;//Globally declared
-(id)init
{
if((self = [super init]))
{
isTouchEnabled = YES;
CGSize windowSize = [[CCDirector sharedDirector] winSize];
targetE = [CCMenuItemImage itemFromNormalImage:@"grossinis_sister1.png" selectedImage:@"grossinis_sister1.png" target:self selector:@selector(touch:)];
menu = [CCMenu menuWithItems:targetE,nil];
id action4 = [CCRotateBy actionWithDuration:3.0 angle:90];
[menu runAction: [CCSequence actions: action4, nil]];
menu.position = ccp(windowSize.width/2 + 200, windowSize.height/2);
[self addChild: menu z:10];
}
return self;
}
@end
谢谢。
答
如果要旋转一个菜单项(如在你的例子)刚刚运行CCMenuItem CCRotateBy行动:
[targetE runAction:action4];
如果你想,然后旋转其所有菜单项的整个菜单你必须考虑它的contentSize,anchorPoint和position。在你的情况下,最简单的旋转菜单的方法是将contentSize设置为零。
menu.contentSize = CGSizeZero;
你有没有成功地做到这一点?这里同样的问题,CCMenu似乎奇怪旋转。 – rraallvv 2014-03-15 19:29:42