#include "framework.h" #define NONE 0 #define UP 1 #define DW 2 #define LEFT 3 #define RIGHT 4 #define WALK_SPEED 5 int direction; CApp app; void MyStartup() { direction = NONE; app.interface_obj._p_scene_obj->LoadScene("main"); } void MyEvents(USER_EVENT event) { if (event.i_type == KEY_EVENT && event.key_event._i_state == KEY_DOWN) { switch (event.key_event._key_id) { case BESK_p: { app.interface_obj._p_sound_obj->PlayMusic(true, "quest"); } break; case BESK_s: { app.interface_obj._p_sound_obj->PlayMusic(false, "quest"); } break; case BESK_UP: { app.interface_obj._p_sprite_obj->LockSprite("little_dude"); app.interface_obj._p_sprite_obj->LoadAnimation("walk_up"); direction = UP; } break; case BESK_DOWN: { app.interface_obj._p_sprite_obj->LockSprite("little_dude"); app.interface_obj._p_sprite_obj->LoadAnimation("walk_down"); direction = DOWN; } break; case BESK_LEFT: { app.interface_obj._p_sprite_obj->LockSprite("little_dude"); app.interface_obj._p_sprite_obj->LoadAnimation("walk_left"); direction = LEFT; } break; case BESK_RIGHT: { app.interface_obj._p_sprite_obj->LockSprite("little_dude"); app.interface_obj._p_sprite_obj->LoadAnimation("walk_right"); direction = RIGHT; } break; case BESK_w: { app.interface_obj._p_sprite_obj->WriteSpriteStats(); } break; } } else if (event.i_type == KEY_EVENT && event.key_event._i_state == KEY_UP) { if (event.key_event._key_id == BESK_DOWN || event.key_event._key_id == BESK_UP || event.key_event._key_id == BESK_RIGHT || event.key_event._key_id == BESK_LEFT) { direction = NONE; app.interface_obj._p_sprite_obj->LockSprite("little_dude"); app.interface_obj._p_sprite_obj->PlayAnimation(false); } } } void MyRun() { switch (direction) { case UP: { app.interface_obj._p_sprite_obj->MoveSprite("little_dude", 0, -WALK_SPEED); } break; case DOWN: { app.interface_obj._p_sprite_obj->MoveSprite("little_dude", 0, WALK_SPEED); } break; case LEFT: { app.interface_obj._p_sprite_obj->MoveSprite("little_dude", -WALK_SPEED, 0); } break; case RIGHT: { app.interface_obj._p_sprite_obj->MoveSprite("little_dude", WALK_SPEED, 0); } break; } } int main(int argc, char* argv[]) { // start the app app.Start("data/app.cfg", MyStartup); // run the app app.Run(MyEvents, MyRun); // end the app app.End(); return(0); } // end main