HelloPolycodeApp.cpp 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #include "HelloPolycodeApp.h"
  2. HelloPolycodeApp::HelloPolycodeApp(PolycodeView *view) {
  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 = new CollisionScene();
  7. ScenePrimitive *ground = new ScenePrimitive(ScenePrimitive::TYPE_PLANE, 10, 10);
  8. ground->loadTexture("Resources/green_texture.png");
  9. scene->addEntity(ground);
  10. box = new ScenePrimitive(ScenePrimitive::TYPE_BOX, 0.5,0.5,0.5);
  11. box->loadTexture("Resources/pink_texture.png");
  12. box->setPosition(0,1,0);
  13. scene->addCollisionChild(box, CollisionSceneEntity::SHAPE_BOX);
  14. bigBox = new ScenePrimitive(ScenePrimitive::TYPE_BOX, 2,2,2);
  15. bigBox->loadTexture("Resources/pink_texture.png");
  16. bigBox->setColor(0.0,1.0,1.0,0.5);
  17. bigBox->setPosition(0,1,0);
  18. scene->addCollisionChild(bigBox, CollisionSceneEntity::SHAPE_BOX);
  19. scene->getDefaultCamera()->setPosition(7,7,7);
  20. scene->getDefaultCamera()->lookAt(Vector3(0,0,0));
  21. swingValue = 0;
  22. }
  23. HelloPolycodeApp::~HelloPolycodeApp() {
  24. }
  25. bool HelloPolycodeApp::Update() {
  26. Number elapsed = core->getElapsed();
  27. swingValue += elapsed;
  28. box->setPosition(sin(swingValue) * 5,1,0);
  29. CollisionResult res = scene->testCollision(box, bigBox);
  30. if(res.collided) {
  31. bigBox->setColor(1.0,1.0,0.0,0.5);
  32. } else {
  33. bigBox->setColor(0.0,1.0,1.0,0.5);
  34. }
  35. return core->updateAndRender();
  36. }