Untitled
By: a guest | Mar 20th, 2010 | Syntax:
C++ | Size: 1.22 KB | Hits: 77 | Expires: Never
#include <libge/libge.h>
#define UP 3
#define DOWN 0
#define RIGHT 2
#define LEFT 1
using namespace std;
PSP_HEAP_SIZE(2048);
GE_PSP_INFO("LibGE Sprite sample", 0, 1, 8192);
class Player {
private:
int x,y,w,h;
int side,count;
ge_Image * sprite;
public:
Player(int a,int b,const char *path){
x = a;
y = b;
sprite = geLoadImage(path);
geSwizzle(sprite);
w = sprite->width / 4;
h = sprite->height / 4;
side = count = 0;
}
void setX(int n){x = n;}
void setY(int n){y = n;}
void setSide(int s){side = s;}
int getX() {return x;}
int getY() {return y;}
void display(){
geBlitImage(x,y,sprite,count*w,side*h,w,h,true);
}
void update(){
count++;
if (count == 4) count = 0;
}
};
int main(){
ge_Keys * pad = geCreateKeys();
Player sasuke(0,0,"sasuke.png");
int running = 1;
while(running){
geReadKeys(pad);
if (pad->pressed[GEK_UP]) sasuke.setSide(UP);
if (pad->pressed[GEK_DOWN]) sasuke.setSide(DOWN);
if (pad->pressed[GEK_LEFT]) sasuke.setSide(LEFT);
if (pad->pressed[GEK_RIGHT]) sasuke.setSide(RIGHT);
if (pad->pressed[GEK_CROSS]) running = 0;
sasuke.display();
sasuke.update();
geSwapBuffers();
}
return 0;
}