void myMouse(int button, int state, int x, int y) { if(state == GLUT_DOWN){ if(button == GLUT_LEFT_BUTTON) { y = 480 - y; float xx = x/240.0 - 1; float yy = y/240.0 - 1; int i = 0; float len1 = (xx-Triangle[0].x)*(xx-Triangle[0].x) + (yy-Triangle[0].y)*(yy-Triangle[0].y); float len2 = (xx-Triangle[1].x)*(xx-Triangle[1].x) + (yy-Triangle[1].y)*(yy-Triangle[1].y); float len3 = (xx-Triangle[2].x)*(xx-Triangle[2].x) + (yy-Triangle[2].y)*(yy-Triangle[2].y); if(len1>len2) { i=1; if(len2>len3) i = 2; }else if(len1 > len3) i = 2; Triangle[i].x = xx; Triangle[i].y = yy; Q.set(xx,yy);//set the test point Q updateRay(); glutPostRedisplay(); } } }
BulletObject::BulletObject(Model *m,float range) : ColorObject(m,1,3), m_range(range), m_framesLeft(70), m_victim(NULL), m_victimTime(1.0f) { m_fSpeed = 100.0f; m_className = "Bullet"; m_type = ObjectTypes::BULLET; updateRay(); }
void Render() { glClear(GL_COLOR_BUFFER_BIT); glMatrixMode(GL_VIEWPORT); glLoadIdentity(); SetWindow(-2.0,2.0,-2.0,2.0); SetViewport(0,480,0,480); DrawScene(); updateRay(); glutSwapBuffers(); }
void Player::update( float deltaTime, OIS::Mouse* mouse, OIS::Keyboard* keyboard ) { Cegui::getInstance()->setAmmo( numOfBullet ,30 ); updateRay(); updateMissile(); updateMouseMove( mouse ); updateKeyboardMove( keyboard, deltaTime ); if( mFireFlash->isAlive() ) mFireFlash->update(deltaTime); updateAnimations( deltaTime ); }