Created Player; not happy with movement

This commit is contained in:
Kayne Ruse
2013-04-29 08:27:03 +10:00
parent 392ef1ef32
commit 7dafb372b1
8 changed files with 274 additions and 37 deletions
+51 -23
View File
@@ -1,4 +1,5 @@
#include "delta.h"
#include "player.h"
#include "sprite_sheet.h"
#include "image.h"
#include "surface_manager.h"
@@ -24,17 +25,19 @@ int go(int, char**) {
sMgr.Load("flower", "rsc/graphics/sprites/aniflower.bmp");
sMgr.Load("tileset", "rsc/graphics/tilesets/MishMash.bmp");
SpriteSheet player(sMgr.Get("player"), 32, 48);
Player player(sMgr.Get("player"), 32, 48);
Image tiles(sMgr.Get("tileset"));
SpriteSheet rose(sMgr.Get("flower"), 32, 32);
player.SetInterval(200);
player.GetSpriteSheet()->SetInterval(200);
rose.SetInterval(200);
vector<SpriteSheet> flowerVector;
for (int i = 0; i < 100; i++) {
SpriteSheet ss(sMgr.Get("flower"), 32, 32);
ss.SetInterval(i%5 + 95);
flowerVector.push_back(ss);
}
// vector<SpriteSheet> flowerVector;
// for (int i = 0; i < 100; i++) {
// SpriteSheet ss(sMgr.Get("flower"), 32, 32);
// ss.SetInterval(i%5 + 95);
// flowerVector.push_back(ss);
// }
Delta delta;
@@ -51,17 +54,37 @@ int go(int, char**) {
case SDLK_ESCAPE:
running = false;
break;
case SDLK_1:
player.SetCurrentStrip(0);
case SDLK_w:
case SDLK_UP:
player.WalkInDirection(Direction::NORTH);
break;
case SDLK_2:
player.SetCurrentStrip(1);
case SDLK_s:
case SDLK_DOWN:
player.WalkInDirection(Direction::SOUTH);
break;
case SDLK_3:
player.SetCurrentStrip(2);
case SDLK_a:
case SDLK_LEFT:
player.WalkInDirection(Direction::WEST);
break;
case SDLK_4:
player.SetCurrentStrip(3);
case SDLK_d:
case SDLK_RIGHT:
player.WalkInDirection(Direction::EAST);
break;
}
break;
case SDL_KEYUP:
switch(event.key.keysym.sym) {
case SDLK_w:
player.WalkInDirection(Direction::SOUTH);
break;
case SDLK_s:
player.WalkInDirection(Direction::NORTH);
break;
case SDLK_a:
player.WalkInDirection(Direction::EAST);
break;
case SDLK_d:
player.WalkInDirection(Direction::WEST);
break;
}
}
@@ -70,21 +93,26 @@ int go(int, char**) {
delta.Calculate();
player.Update(delta.GetDelta());
rose.Update(0);
for (int i = 0; i < 100; i++) {
flowerVector[i].Update(delta.GetDelta());
}
// for (int i = 0; i < 100; i++) {
// flowerVector[i].Update(delta.GetDelta());
// }
SDL_FillRect(screen, 0, 0);
tiles.DrawTo(screen, 0, 0);
player.DrawTo(screen, 0, 0);
player.DrawTo(screen);
rose.DrawTo(screen, 50, 100);
for (int i = 0; i < 100; i++) {
flowerVector[i].DrawTo(screen, 20+i*4, i*4);
}
// for (int i = 0; i < 100; i++) {
// flowerVector[i].DrawTo(screen, 20+i*4, i*4);
// }
SDL_Flip(screen);
//debugging
// cout << player.GetSpriteSheet()->GetCurrentFrame() << endl;
}
SDL_Quit();