2013-03-24 35 views
-1
-(void) redafter1 
{ 

red = [CCMenuItemImage 
     itemFromNormalImage:@"red.png" selectedImage:@"redclick.png"]; 
red.position = ccp(175, 725); 
redMenu = [CCMenu menuWithItems:red, nil]; 
redMenu.position = CGPointZero; 
redMenu.scale = .75; 
[self addChild:redMenu z:10]; 
} 

我该如何去动画这个对象来移动到屏幕上的另一个位置?我对此很新,请在你的解释中保持基本。如何在VOID语句中创建动画? XCODE

回答

0

如果要为CCNode(这是所有cocos2d对象(如图层,精灵,标签,菜单项等)的基类生成动画),则必须使用动作机制。要移动对象,请使用CCMoveTo,CCMoveBy操作,方法为runAction:

id moveAction = [CCMoveTo actionWithDuration: animationDuration position: targetPosition]; 
[nodeToAnimate runAction: moveAction]; 

在,如果你将它添加到某些父之后运行的对象上动作的情况下,这是可见的(场景或其他可见父),行动将开始出现对象之后。

+0

我迷路了,我该如何控制物体在哪里移动?我该如何处理这个特定的VOID语句? – user2083920 2013-03-25 01:00:30

+0

不明白你的意思。这是没有区别的,你会在无效方法或其他地方做到这一点。 – Morion 2013-03-25 10:12:11

0

您在redafter1函数末尾添加[redMenu runAction:[CCMoveTo actionWithDuration:time position:place]];(您选择时间和位置),因此当父方法最终通过诸如init等方法调用时,您的菜单将会移动。

请记住,您不能移动CCMenuItemImage,因为它已被锁定到CCMenu的位置。你必须自己移动CCMenu

希望这有帮助。