HelloPolycodeApp.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #include "HelloPolycodeApp.h"
  2. HelloPolycodeApp::HelloPolycodeApp(PolycodeView *view) {
  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 PhysicsScene2D(0.01, 50);
  7. lastEntity = NULL;
  8. for(int i=0; i < 50; i++) {
  9. ScenePrimitive *shape = new ScenePrimitive(ScenePrimitive::TYPE_VPLANE, 0.1,0.02);
  10. shape->setRoll(rand() % 360);
  11. shape->setPosition(-0.5 + RANDOM_NUMBER, -0.5 + RANDOM_NUMBER);
  12. scene->addCollisionChild(shape, PhysicsScene2DEntity::ENTITY_RECT);
  13. }
  14. }
  15. HelloPolycodeApp::~HelloPolycodeApp() {
  16. }
  17. bool HelloPolycodeApp::Update() {
  18. if(lastEntity)
  19. lastEntity->setColor(1.0, 1.0, 1.0, 1.0);
  20. Vector2 mouse = core->getInput()->getMousePosition();
  21. Ray ray = scene->projectRayFromCameraAndViewportCoordinate(scene->getActiveCamera(), mouse);
  22. SceneEntity * entity = scene->getEntityAtPosition(ray.origin.x, ray.origin.y);
  23. if(entity) {
  24. entity->setColor(1.0, 0.0, 0.0, 1.0);
  25. lastEntity = entity;
  26. }
  27. return core->updateAndRender();
  28. }