2
0

HelloPolycodeApp.cpp 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #include "HelloPolycodeApp.h"
  2. HelloPolycodeApp::HelloPolycodeApp(PolycodeView *view) : EventHandler() {
  3. core = new POLYCODE_CORE(view, 640,480,false,false,0,0,90);
  4. CoreServices::getInstance()->getResourceManager()->addArchive("Resources/default.pak");
  5. CoreServices::getInstance()->getResourceManager()->addDirResource("default", false);
  6. Scene *scene = new Scene(Scene::SCENE_2D);
  7. image = new SceneImage("Resources/polycode_logo.png");
  8. scene->addChild(image);
  9. rotationSpeed = 0;
  10. core->getInput()->addEventListener(this, InputEvent::EVENT_KEYDOWN);
  11. core->getInput()->addEventListener(this, InputEvent::EVENT_KEYUP);
  12. }
  13. HelloPolycodeApp::~HelloPolycodeApp() {
  14. }
  15. void HelloPolycodeApp::handleEvent(Event *e) {
  16. if(e->getDispatcher() == core->getInput()) {
  17. InputEvent *inputEvent = (InputEvent*)e;
  18. switch(e->getEventCode()) {
  19. case InputEvent::EVENT_KEYDOWN:
  20. switch (inputEvent->keyCode()) {
  21. case KEY_LEFT:
  22. rotationSpeed = 200;
  23. break;
  24. case KEY_RIGHT:
  25. rotationSpeed = -200;
  26. break;
  27. }
  28. break;
  29. case InputEvent::EVENT_KEYUP:
  30. switch (inputEvent->key) {
  31. case KEY_LEFT:
  32. case KEY_RIGHT:
  33. rotationSpeed = 0;
  34. break;
  35. }
  36. break;
  37. }
  38. }
  39. }
  40. bool HelloPolycodeApp::Update() {
  41. Number elapsed = core->getElapsed();
  42. image->setRoll(image->getRoll() + elapsed * rotationSpeed);
  43. return core->updateAndRender();
  44. }