使精灵在屏幕上随机移动

我正在制作一个2D游戏,其中我需要一个精灵的实例在屏幕上随机飞行。 他们将随机产生在iPhone屏幕的边界之外,然后在屏幕内移动。 当他们碰到边缘时,他们会出现在另一边。 我只需要知道如何让精灵随机移动。

将这个方法添加到你的图层类 – 它接受一个精灵,然后在屏幕上随机移动它永远:

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

正如你所看到的,这很容易 – 在屏幕上生成一个随机点,然后在精灵上运行移动动作到那一点。 完成之后 – 重复一遍。

要在屏幕上添加一个精灵并开始这个过程,把这个(可能)放在你的场景init方法中,或者在你进行场景初始化的任何地方:

 CCSprite* s = [CCSprite spriteWithFile:@"yourImage.png"]; [self addChild: s]; [self moveRandom:s];