bzr branch
http://gegoxaren.bato24.eu/bzr/%2Bjunk/invaders_vala
|
2
by Gusatv Hartvigsson
* moved a file ( miss spelled name) |
1 |
using SDL; |
2 |
using SDLGraphics; |
|
3 |
||
4 |
namespace invadersGame{ |
|
5 |
class GameObjectPlayer : GameObject{ |
|
|
9
by Gustav Hartvigsson
Implimented Time based movement... |
6 |
private bool exists; |
7 |
|
|
8 |
private MovementDelta my_movement_delta; |
|
9 |
|
|
10 |
public GameObjectPlayer () { |
|
11 |
base((int16)SCREEN_WIDTH / 2 - 16, (int16)SCREEN_HEIGHT / 2, 0, 0, 200, 200); |
|
12 |
|
|
13 |
} |
|
14 |
|
|
15 |
public override void draw(SDL.Screen screen) { |
|
16 |
ResourceHandler.player.blit(null,screen,my_rect); |
|
17 |
} |
|
18 |
|
|
19 |
public void set_movment_delta(MovementDelta d) { |
|
20 |
my_movement_delta = d; |
|
21 |
stdout.printf(d.to_string() + "\n"); |
|
22 |
} |
|
23 |
|
|
24 |
public override void move () { |
|
25 |
float de_t = (float)(SDL.Timer.get_ticks() - last_frame); |
|
26 |
|
|
27 |
if(my_movement_delta.y > 0 && my_movement_delta.x > 0) { |
|
28 |
pos_y = pos_y + (float)((speed/1.5) * de_t)/1000.0f; |
|
29 |
pos_x = pos_x + (float)((speed/1.5) * de_t)/1000.0f; |
|
30 |
} else if(my_movement_delta.y < 0 && my_movement_delta.x < 0) { |
|
31 |
pos_y = pos_y - (float)((speed/1.5) * de_t)/1000.0f; |
|
32 |
pos_x = pos_x - (float)((speed/1.5) * de_t)/1000.0f; |
|
33 |
} else if(my_movement_delta.y > 0 && my_movement_delta.x < 0) { |
|
34 |
pos_y = pos_y + (float)((speed/1.5) * de_t)/1000.0f; |
|
35 |
pos_x = pos_x - (float)((speed/1.5) * de_t)/1000.0f; |
|
36 |
} else if(my_movement_delta.y < 0 && my_movement_delta.x > 0) { |
|
37 |
pos_y = pos_y - (float)((speed/1.5) * de_t)/1000.0f; |
|
38 |
pos_x = pos_x + (float)((speed/1.5) * de_t)/1000.0f; |
|
39 |
} else if(my_movement_delta.x > 0 ) { |
|
40 |
pos_x = pos_x + (float)(speed * de_t)/1000.0f; |
|
41 |
} else if(my_movement_delta.x < 0 ) { |
|
42 |
pos_x = pos_x - (float)(speed * de_t)/1000.0f; |
|
43 |
} else if(my_movement_delta.y > 0 ) { |
|
44 |
pos_y = pos_y + (float)(speed * de_t)/1000.0f; |
|
45 |
} else if(my_movement_delta.y < 0 ) { |
|
46 |
pos_y = pos_y - (float)(speed * de_t)/1000.0f; |
|
47 |
} else { |
|
48 |
// nothing |
|
49 |
} |
|
50 |
|
|
51 |
my_rect.x = (int16)pos_x; |
|
52 |
my_rect.y = (int16)pos_y; |
|
53 |
|
|
54 |
last_frame = SDL.Timer.get_ticks(); |
|
55 |
} |
|
|
2
by Gusatv Hartvigsson
* moved a file ( miss spelled name) |
56 |
} |
57 |
}
|