来自我的问题,
http://iphonegamedev.stackexchange.com/questions/82/moving-sprites-more-then-one-at-a-time
-(void)moveBox:(NSTimer*)myTimer{
float endx=[[[myTimer userInfo] valueForKey:@"endX"] floatValue];
float endy=[[[myTimer userInfo] valueForKey:@"endY"] floatValue];
float timing=[[[myTimer userInfo] valueForKey:@"timeForMove"] floatValue];
Sprite *sp=(Sprite*)[[myTimer userInfo] valueForKey:@"objSprite"];
[sp runAction: [MoveBy actionWithDuration:timing position:ccp(endx,endy)]];
}
我在我的应用程序中使用上面的代码。但我不需要这种方法。
以上代码用于移动精灵。
我在上面放置代码只是因为你可以想象我需要什么。
现在我想一次移动10个精灵。
[sp runAction: [MoveBy actionWithDuration:timing position:ccp(endx,endy)]];
上面一行 - 一次移动一个精灵。
如何一次性将所有精灵全部移动到一起。
为什么需要? :
你可能已经看过俄罗斯方块游戏了。
如果最底部的行完成,那么上面的所有行都会向下移动第一步。
我想做同样的事。
如何?
答案 0 :(得分:2)
我已经通过以下链接。
http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:actions_composition
答案如下。
菌种
Spawn操作允许您同时运行多个操作。 Spawn动作的持续时间将是最长子动作的持续时间。
id action = [Spawn action: [JumpBy actionWithDuration:2位置:ccp(300,0)身高:50跳:4], [RotateBy actionWithDuration:2 angle:720], 零];
[sprite runAction:action];
答案 1 :(得分:1)
尝试使用并发NSThreads,每个精灵需要移动一个。