-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];
}

我将如何为这个对象设置动画以移动到屏幕上的另一个位置?我对此很陌生,请在您的解释中保持基本。

4

2 回答 2

0

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

请记住,您不能移动 a CCMenuItemImage,因为它已锁定到CCMenu' 位置。你必须移动它CCMenu本身。

希望这会有所帮助。

于 2013-03-30T21:55:05.070 回答
0

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

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

在您的情况下,如果您在将对象添加到某个可见的父对象(您的场景或其他可见父对象)之后立即对对象运行操作,则操作将在对象出现后立即开始。

于 2013-03-25T00:25:20.537 回答