From dc2ad09f4fb52cfd1ad220c4330740eeeddc8fa6 Mon Sep 17 00:00:00 2001 From: logaritmisk Date: Thu, 19 Nov 2015 12:57:41 +0100 Subject: [PATCH] Stuff. --- src/main.rs | 42 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/src/main.rs b/src/main.rs index 9810db2..7a78b2f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -44,8 +44,15 @@ const PLAYER_ACCELERATION_X_CHANGE : f32 = 0.06; struct GameObject { - x: f32, - y: f32, + pub x: f32, + pub y: f32, + + pub dx: f32, + pub dy: f32, + pub gravity: f32, + + pub on_ground: bool, + graphics: Box } @@ -54,18 +61,30 @@ impl GameObject { GameObject { x: x, y: y, + + dx: 0.0, + dy: 0.0, + gravity: 0.3, + + on_ground: false, + graphics: graphics } } - pub fn update(&self, renderer: &Renderer) { - self.graphics.update(self, renderer); + pub fn update(&self, elapsed: u64) { + self.graphics.update(self, elapsed); + } + + pub fn render(&self, renderer: &Renderer) { + self.graphics.render(self, renderer); } } trait GraphicsComponent { - fn update(&self, &GameObject, &Renderer); + fn update(&self, &GameObject, u64); + fn render(&self, &GameObject, &Renderer); } @@ -82,7 +101,11 @@ impl<'a> PlayerGraphicsComponent<'a> { } impl<'a> GraphicsComponent for PlayerGraphicsComponent<'a> { - fn update(&self, object: &GameObject, renderer: &Renderer) { + fn update(&self, object: &GameObject, elapsed: u64) { + + } + + fn render(&self, object: &GameObject, renderer: &Renderer) { println!("epic shit!"); } } @@ -113,8 +136,8 @@ fn main() { let player_sprites = renderer.load_texture(&Path::new("gfx/mario.png")).unwrap(); - //let _player = GameObject::new(390.0, 390.0, Box::new(PlayerGraphicsComponent::new(&player_sprites))); - //_player.update(&renderer); + // new shit! + // let _player = GameObject::new(390.0, 390.0, Box::new(PlayerGraphicsComponent::new(&player_sprites))); let mut player_sprite = AnimatedSprite::new(&player_sprites, 96, 32, 3, 15); @@ -491,6 +514,9 @@ fn main() { let player_rect = camera_relative_rect(&camera.to_rect(), &player.to_rect()); + // new shit! + // _player.render(&renderer); + player_sprite.render(&mut renderer, &player_rect); renderer.present();