我正在进行2D游戏,我需要精灵的实例在屏幕上随机飞行。它们将在iPhone屏幕的边界之外随机产生,然后在屏幕内移动。当它们碰到边缘时,它们会出现在另一侧。我需要知道的是如何让精灵随机移动。
答案 0 :(得分:1)
将此方法添加到图层类中 - 它会接收一个精灵,然后在屏幕上随机移动它:
-(void)moveRandom:(CCSprite*)s
{
CGPoint randomPoint = ccp(arc4random()%480, arc4random()%320);
NSLog(@"%@", NSStringFromCGPoint(randomPoint));
[s runAction:
[CCSequence actions:
[CCMoveTo actionWithDuration:arc4random()%5+1 position: randomPoint],
[CCCallBlock actionWithBlock:^{
[self performSelector:@selector(moveRandom:) withObject:s afterDelay:0.5];
}],
nil]
];
}
正如您所看到的那样非常简单 - 在屏幕上生成一个随机点,然后在精灵上运行移动操作。完成后 - 重复一遍。
要在屏幕上添加精灵并启动过程,请将此(可能)放在场景初始化方法或场景初始化的任何位置:
CCSprite* s = [CCSprite spriteWithFile:@"yourImage.png"];
[self addChild: s];
[self moveRandom:s];