HelloPolycodeApp.cpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include "HelloPolycodeApp.h"
  2. HelloPolycodeApp::HelloPolycodeApp(PolycodeView *view) {
  3. #ifdef __APPLE__
  4. core = new CocoaCore(view, 640,480,false,0,90);
  5. #else
  6. core = new SDLCore(view, 640,480,false,0,90);
  7. #endif
  8. CoreServices::getInstance()->getResourceManager()->addArchive("Resources/default.pak");
  9. CoreServices::getInstance()->getResourceManager()->addDirResource("default", false);
  10. scene = new CollisionScene();
  11. ScenePrimitive *ground = new ScenePrimitive(ScenePrimitive::TYPE_PLANE, 10, 10);
  12. ground->loadTexture("Resources/green_texture.png");
  13. scene->addEntity(ground);
  14. box = new ScenePrimitive(ScenePrimitive::TYPE_BOX, 0.5,0.5,0.5);
  15. box->loadTexture("Resources/pink_texture.png");
  16. box->setPosition(0,1,0);
  17. scene->addCollisionChild(box, CollisionSceneEntity::SHAPE_BOX);
  18. bigBox = new ScenePrimitive(ScenePrimitive::TYPE_BOX, 2,2,2);
  19. bigBox->loadTexture("Resources/pink_texture.png");
  20. bigBox->setColor(0.0,1.0,1.0,0.5);
  21. bigBox->setPosition(0,1,0);
  22. scene->addCollisionChild(bigBox, CollisionSceneEntity::SHAPE_BOX);
  23. scene->getDefaultCamera()->setPosition(7,7,7);
  24. scene->getDefaultCamera()->lookAt(Vector3(0,0,0));
  25. swingValue = 0;
  26. }
  27. bool HelloPolycodeApp::Update() {
  28. Number elapsed = core->getElapsed();
  29. swingValue += elapsed;
  30. box->setPosition(sin(swingValue) * 5,1,0);
  31. CollisionResult res = scene->testCollision(box, bigBox);
  32. if(res.collided) {
  33. bigBox->setColor(1.0,1.0,0.0,0.5);
  34. } else {
  35. bigBox->setColor(0.0,1.0,1.0,0.5);
  36. }
  37. return core->Update();
  38. }