2
0

HelloPolycodeApp.cpp 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #include "HelloPolycodeApp.h"
  2. HelloPolycodeApp::HelloPolycodeApp(PolycodeView *view) : EventHandler() {
  3. #ifdef __APPLE__
  4. core = new CocoaCore(view, 640,480,false,false,0,0,90);
  5. #else
  6. core = new SDLCore(view, 640,480,false,false,0,0,90);
  7. #endif
  8. CoreServices::getInstance()->getResourceManager()->addArchive("Resources/default.pak");
  9. CoreServices::getInstance()->getResourceManager()->addDirResource("default", false);
  10. Screen *screen = new Screen();
  11. image = new ScreenImage("Resources/polycode_logo.png");
  12. image->setPositionMode(ScreenEntity::POSITION_CENTER);
  13. image->setPosition(640/2, 480/2);
  14. screen->addChild(image);
  15. rotationSpeed = 0;
  16. core->getInput()->addEventListener(this, InputEvent::EVENT_KEYDOWN);
  17. core->getInput()->addEventListener(this, InputEvent::EVENT_KEYUP);
  18. }
  19. HelloPolycodeApp::~HelloPolycodeApp() {
  20. }
  21. void HelloPolycodeApp::handleEvent(Event *e) {
  22. if(e->getDispatcher() == core->getInput()) {
  23. InputEvent *inputEvent = (InputEvent*)e;
  24. switch(e->getEventCode()) {
  25. case InputEvent::EVENT_KEYDOWN:
  26. switch (inputEvent->keyCode()) {
  27. case KEY_LEFT:
  28. rotationSpeed = -200;
  29. break;
  30. case KEY_RIGHT:
  31. rotationSpeed = 200;
  32. break;
  33. }
  34. break;
  35. case InputEvent::EVENT_KEYUP:
  36. switch (inputEvent->key) {
  37. case KEY_LEFT:
  38. case KEY_RIGHT:
  39. rotationSpeed = 0;
  40. break;
  41. }
  42. break;
  43. }
  44. }
  45. }
  46. bool HelloPolycodeApp::Update() {
  47. Number elapsed = core->getElapsed();
  48. image->setRotation(image->getRotation() + elapsed * rotationSpeed);
  49. return core->Update();
  50. }