У меня есть этот код, который я использовал раньше, но теперь, когда я создал подкласс своего спрайта, мне нужно его адаптировать. Вот:
-(void)moveRandom:(CCSprite*)mos
{
CGPoint randomPoint = ccp(arc4random()%480, arc4random()%320);
NSLog(@"%@", NSStringFromCGPoint(randomPoint));
CGPoint start = mos.position;
CGPoint end = randomPoint;
float distance = ccpDistance(start, end);
float duration = distance/450;
[mos runAction:
[CCSequence actions:
[CCMoveTo actionWithDuration:duration position: randomPoint],
[CCCallBlock actionWithBlock:^{
[self performSelector:@selector(moveRandom:) withObject:mos afterDelay:0.5];
}],
nil]
];
}
Что он делает, так это выбирает случайную точку на экране, затем делает так, чтобы спрайт перемещался с постоянной скоростью между двумя точками, затем перемещает спрайт и повторно вызывает метод.
РЕДАКТИРОВАТЬ: причина, по которой я хочу это сделать, заключается в том, что я буду использовать экземпляры этого спрайта в слое моего спрайта, и все они будут выполнять этот метод.
Не следует ли мне включить это в мой подкласс CCSprite, а скорее как слой моего спрайта?