У меня есть этот код, который я использовал раньше, но теперь, когда я подклассифицировал свой спрайт, мне нужно его адаптировать. Вот оно:Как мне изменить этот код, чтобы сделать его подходящим для подкласса?
-(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]
];
}
Что она делает то, что он выбирает случайную точку на экране, то он делает это так, что спрайт движется с постоянной скоростью между двумя точками, то она перемещает спрайт, и повторно вызывает метод.
EDIT: Причина, по которой я хочу это сделать, состоит в том, что я буду экземплярами этого спрайта в слое спрайта, и все они будут делать этот метод.
Должен ли я включать это в мой подкласс CCSprite, но больше похожий на слой моего спрайта?
Почему вы считаете это? Без этой информации на ваш вопрос нельзя ответить, это как просить незнакомца «Почему я повернул налево на последнем перекрестке?». Чувак, я даже не знаю, куда вы идете. ;) – LearnCocos2D
@ LearnCocos2D Хорошая мысль, я устал в то время. Я добавлю это сейчас. – akuritsu