| 1234567891011121314151617181920212223242526272829303132333435363738 |
- #include "HelloPolycodeApp.h"
- HelloPolycodeApp::HelloPolycodeApp(PolycodeView *view) {
- core = new POLYCODE_CORE(view, 640,480,false,true,0,0,90,0, true);
-
- CoreServices::getInstance()->getResourceManager()->addArchive("Resources/default.pak");
- CoreServices::getInstance()->getResourceManager()->addDirResource("default", false);
- scene = new PhysicsScene2D(0.01, 50);
- lastEntity = NULL;
-
- for(int i=0; i < 50; i++) {
- ScenePrimitive *shape = new ScenePrimitive(ScenePrimitive::TYPE_VPLANE, 0.1,0.02);
- shape->setRoll(rand() % 360);
- shape->setPosition(-0.5 + RANDOM_NUMBER, -0.5 + RANDOM_NUMBER);
- scene->addCollisionChild(shape, PhysicsScene2DEntity::ENTITY_RECT);
- }
-
- }
- HelloPolycodeApp::~HelloPolycodeApp() {
-
- }
- bool HelloPolycodeApp::Update() {
- if(lastEntity)
- lastEntity->setColor(1.0, 1.0, 1.0, 1.0);
- Vector2 mouse = core->getInput()->getMousePosition();
- Ray ray = scene->projectRayFromCameraAndViewportCoordinate(scene->getActiveCamera(), mouse);
-
- SceneEntity * entity = scene->getEntityAtPosition(ray.origin.x, ray.origin.y);
- if(entity) {
- entity->setColor(1.0, 0.0, 0.0, 1.0);
- lastEntity = entity;
- }
- return core->updateAndRender();
- }
|