Cocos2D帮助:如何连续旋转精灵并在旋转精灵中生成子精灵

时间:2012-02-20 08:49:07

标签: objective-c cocos2d-iphone

我是cocos2D的新手可以有人建议一个简单的解决方案吗?

我在风车上有一个带8个风杆的风车,每个风门分开45度,其中一半的风车在屏幕上,一半在屏幕外。我想旋转风车,让它永远旋转。另外,我想在风车的末端安装一个小孩,它会随着风车一起旋转。一个简单的解决方案将不胜感激。

修改

我能够旋转风车,我写了这段代码:

windmill = [CCSprite spriteWithFile:@"Chorki.png"];
windmill.position = CGPointMake(winSize.width*0.02f, winSize.height*0.56f);
windmill.scale = 0.55f;
[self addChild:windmill z:0];
CCRotateBy *rot = [CCRepeatForever actionWithAction:[CCRotateBy actionWithDuration:5 angle: 360]];
[windmill runAction:rot];

现在请帮助我如何在每个风车栏末端添加儿童精灵,共有8个酒吧,每个酒吧相隔45度。

2 个答案:

答案 0 :(得分:9)

要使CCSprite永远旋转,您可以使用类似

的内容
[windmill runAction:[CCRepeatForever actionWithAction:[CCRotateBy actionWithDuration:5.0 angle:360]]];

然后添加任何CCSprite作为它将旋转的子项。您分配给孩子的位置取决于他的父母,将其记入帐户。

编辑1

好吧,如果你知道圆的半径,你可以做一些数学并得到你想要的位置。但是,如果您不需要计算头寸,只需尝试&得到你想要的错误。尝试不用旋转的风车。

答案 1 :(得分:1)

你声明你的行动,“腐烂”作为CCRotateBy的一个实例,但是当你分配它时,你就是[CCRepeatForever[...]]; 如果你想要的话可​​以做到

CCRotateBy *rot = [CCRotateBy actionWithDuration:5 angle:360];

[windmill runAction:[CCRepeatForever actionWithAction:rot]];