2
0

HelloPolycodeApp.cpp 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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 = new Scene(Scene::SCENE_2D);
  7. scene->getActiveCamera()->setOrthoSize(640,480);
  8. image = new SceneImage("Resources/polycode_logo.png");
  9. scene->addChild(image);
  10. core->getInput()->addEventListener(this, InputEvent::EVENT_MOUSEMOVE);
  11. core->getInput()->addEventListener(this, InputEvent::EVENT_MOUSEDOWN);
  12. core->getInput()->addEventListener(this, InputEvent::EVENT_MOUSEUP);
  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_MOUSEMOVE:
  21. {
  22. Ray ray =scene->projectRayFromCameraAndViewportCoordinate(scene->getActiveCamera(), inputEvent->getMousePosition());
  23. image->setPosition(ray.origin.x, ray.origin.y);
  24. }
  25. break;
  26. case InputEvent::EVENT_MOUSEDOWN:
  27. image->setColor(1,0,0,1);
  28. break;
  29. case InputEvent::EVENT_MOUSEUP:
  30. image->setColor(1,1,1,1);
  31. break;
  32. }
  33. }
  34. }
  35. bool HelloPolycodeApp::Update() {
  36. return core->updateAndRender();
  37. }