Я пытаюсь заставить несколько объектов Ball формироваться на экране и подпрыгивать.У меня это работает нормально для одного, но у меня проблемы с добавлением еще.В идеале количество шаров будет разным, но сейчас я пытаюсь просто поместить два в массив, чтобы изменить остальную часть кода.
Моя проблема в том, что все компилируется и работает нормально, но я все еще толькоесть один мяч.Вот где я подозреваю, что проблема возникает.
Я также чувствую, что делать это в viewDidLoad некорректно, но я не уверен, где оно на самом деле принадлежит.
viewDidLoad:
- (void)viewDidLoad {
[super viewDidLoad];
balls = [[NSMutableArray alloc] init];
CGPoint newPos = CGPointMake(5,5);
for(int i = 0; i < 2; i++) {
[balls addObject:[[[Ball alloc] init] autorelease]];
}
[[balls objectAtIndex:1] setPosition:newPos];
[NSTimer scheduledTimerWithTimeInterval:1.0 / 30.0 target:self selector:@selector(onTimer) userInfo:nil repeats:YES];
}
- (void)onTimer
{
for(int i = 0; i < [balls count]; i++) {
Ball *b = [balls objectAtIndex:i];
[b update];
[(BallView *)self.view refresh:b];
}
}
- (void)refresh:(Ball *)aBall {
ball = aBall;
[self setNeedsDisplay];
}
Я добавил свой onTimer, я думал, что добавления задержки в создании шариков будет достаточно, чтобы сделать это неисключением.Все, что делает обновление, это изменяет скорость / направление на основе акселерометра / столкновений с краем экрана.