Exemple #1
0
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();
}
Exemple #3
0
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();

}
Exemple #4
0
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 );
}