/* for example create some object named Player - inherit from uiimageView
and sets its properties. (image,location,size,speed..)
And another one - Bullet (or something else) */
//h. file:
#import "Player.h"
#define SPEED_GAME 0.04
@interface GameController {
NSTimer *mainTimer;
NSMutableArr *arrBullets;
BOOL isPause;
Player *plr;
}
- (void) gameLoop;
//m. file
#import "Bullet.h"
- (id) init {
self = [super init];
if(self!=nil) {
/* mainTimer run on the gameLoop every 0.04 sec. */
mainTimer = [NSTimer scheduledTimerWithTimeInterval:SPEED_GAME
target:self selector:@selector(gameLoop) userInfo:nil
repeats:YES];
}
return self;
}
- (void) gameLoop {
if(!isPause) {
if(movePlrUp) plr.center.y -= plr.speedY;
if(movePlrDown) plr.center.y +=plr.speedY;
..
if(Shoot) [self createBullet];
[self moveBullets];
if([self collision]) //do Something;
}
}
- (void) createBullet {
Bullet *b = [[Bullet alloc]init];
[b getLocation];
[arrBullets addObject:b];
[self.view addSubview:b];
[b release];
}
- (void) moveBullets {
if([arrBullets count]>0) {
for(int i=0; i<[arrBullets count]; i++) {
[[arrBullets objectAtIndex:i] move];
/* the move mehtod inside Bullet.m need to look like this:
self.center.x += self.speed; */
if([[arrBullets objectAtIndex:i] checkIfOutOfBounds]) {
[[arrBullets objectAtIndex:i]removeFromSuperview];
[arrBullets removeObjectAtIndex:i];
}
}
}
}