2
0

HelloPolycodeApp.cpp 1.4 KB

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