Share Pastebin
Guest
Public paste!

Untitled

By: a guest | Mar 20th, 2010 | Syntax: C++ | Size: 1.22 KB | Hits: 77 | Expires: Never
Copy text to clipboard
  1. #include <libge/libge.h>
  2.  
  3. #define UP 3
  4. #define DOWN 0
  5. #define RIGHT 2
  6. #define LEFT 1
  7.  
  8. using namespace std;
  9.  
  10. PSP_HEAP_SIZE(2048);
  11. GE_PSP_INFO("LibGE Sprite sample", 0, 1, 8192);
  12.  
  13. class Player {
  14.         private:
  15.                 int x,y,w,h;
  16.                 int side,count;
  17.                 ge_Image * sprite;
  18.         public:
  19.                 Player(int a,int b,const char *path){
  20.                         x = a;
  21.                         y = b;
  22.                         sprite = geLoadImage(path);
  23.                         geSwizzle(sprite);
  24.                         w = sprite->width / 4;
  25.                         h = sprite->height / 4;
  26.                         side = count = 0;
  27.                 }
  28.                 void setX(int n){x = n;}
  29.                 void setY(int n){y = n;}
  30.                 void setSide(int s){side = s;}
  31.                 int getX() {return x;}
  32.                 int getY() {return y;}
  33.                 void display(){
  34.                         geBlitImage(x,y,sprite,count*w,side*h,w,h,true);
  35.                 }
  36.                 void update(){
  37.                         count++;
  38.                         if (count == 4) count = 0;
  39.                 }
  40. };
  41. int main(){
  42.         ge_Keys * pad = geCreateKeys();
  43.         Player sasuke(0,0,"sasuke.png");
  44.         int running = 1;
  45.         while(running){
  46.                 geReadKeys(pad);
  47.                 if (pad->pressed[GEK_UP]) sasuke.setSide(UP);
  48.                 if (pad->pressed[GEK_DOWN]) sasuke.setSide(DOWN);
  49.                 if (pad->pressed[GEK_LEFT]) sasuke.setSide(LEFT);
  50.                 if (pad->pressed[GEK_RIGHT]) sasuke.setSide(RIGHT);
  51.                 if (pad->pressed[GEK_CROSS]) running = 0;
  52.                 sasuke.display();
  53.                 sasuke.update();
  54.                 geSwapBuffers();
  55.         }
  56.         return 0;
  57. }