diff options
Diffstat (limited to 'gaunt01/src/testApp.cpp')
| -rw-r--r-- | gaunt01/src/testApp.cpp | 52 |
1 files changed, 47 insertions, 5 deletions
diff --git a/gaunt01/src/testApp.cpp b/gaunt01/src/testApp.cpp index 5f531a6..9e2a574 100644 --- a/gaunt01/src/testApp.cpp +++ b/gaunt01/src/testApp.cpp @@ -91,6 +91,9 @@ void testApp::setup(){ bgnum=1000; firstframe=true; + + light.setPosition(ofGetWidth(),0,ofGetHeight()); + light.enable(); } @@ -254,11 +257,13 @@ void testApp::update(){ ray=projector.castPixel(blobBase.x,blobBase.y); bool hit = plane.intersect(ray,pp); rp=pp.getRotated(cam_angle,ofVec3f(-1,0,0)); - players[blobsManager.blobs.at(i).id].setPosition(rp); + players[blobsManager.blobs.at(i).id].setScreenPosition(blobBase); + players[blobsManager.blobs.at(i).id].setWorldPosition(ofVec3f(rp.x,rp.y,0)); players[blobsManager.blobs.at(i).id].update(blob); //create model } } if (trapDoor.checkUpdate(players)) updatePlane(); + Bird.update(players); } //-------------------------------------------------------------- @@ -280,13 +285,22 @@ void testApp::draw(){ bindTexture(bgImg); ground.draw(); unbindTexture(bgImg); - - Bird.update(players); ofPushMatrix(); ofRotate(cam_angle,1,0,0); Bird.drawShadow(); ofPopMatrix(); + + glDisable(GL_DEPTH_TEST); + ofSetHexColor(0xffffff); + ofPushMatrix(); + ofRotate(cam_angle,1,0,0); + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + trapDoor.drawSplash(cam_angle); + //trapDoor.splashFrames[0].draw(ofGetWidth()/2,ofGetHeight()/2); + glDisable(GL_BLEND); + ofPopMatrix(); glDisable(GL_DEPTH_TEST); ofSetHexColor(0xffffff); @@ -324,12 +338,14 @@ void testApp::draw(){ - + glEnable(GL_LIGHTING); ofPushMatrix(); ofRotate(cam_angle,1,0,0); Bird.draw(); ofPopMatrix(); + + glDisable(GL_LIGHTING); break; @@ -364,6 +380,7 @@ void testApp::draw(){ ofPushMatrix(); ofRotate(cam_angle,1,0,0); trapDoor.draw(); + trapDoor.drawDebug(); ofPopMatrix(); @@ -378,7 +395,7 @@ void testApp::draw(){ ofDrawBitmapString(numStr, blob.boundingRect.x, blob.boundingRect.y); ofPushMatrix(); ofRotate(cam_angle,1,0,0); - ofTranslate(players[blobsManager.blobs.at(i).id].getPosition()); + ofTranslate(players[blobsManager.blobs.at(i).id].getWorldPosition()); ofBox(0,-10,0,20); //TODO get this into plane axis ofPopMatrix(); @@ -480,6 +497,31 @@ void testApp::keyPressed(int key){ Bird.currentseq="attack"; } break; + + case 'y': + light.setPosition(light.getX(),light.getY()-100,light.getZ()); + printf("light at %f,%f,%f\n",light.getX(),light.getY(),light.getZ()); + break; + case 'n': + light.setPosition(light.getX(),light.getY()+100,light.getZ()); + printf("light at %f,%f,%f\n",light.getX(),light.getY(),light.getZ()); + break; + case 'g': + light.setPosition(light.getX()-100,light.getY(),light.getZ()); + printf("light at %f,%f,%f\n",light.getX(),light.getY(),light.getZ()); + break; + case 'j': + light.setPosition(light.getX()+100,light.getY(),light.getZ()); + printf("light at %f,%f,%f\n",light.getX(),light.getY(),light.getZ()); + break; + case 'u': + light.setPosition(light.getX(),light.getY(),light.getZ()+100); + printf("light at %f,%f,%f\n",light.getX(),light.getY(),light.getZ()); + break; + case 'b': + light.setPosition(light.getX(),light.getY(),light.getZ()-100); + printf("light at %f,%f,%f\n",light.getX(),light.getY(),light.getZ()); + break; } } |
