//------------------------------------------------------------------------------- // @ Player::Update() //------------------------------------------------------------------------------- // Main update loop //------------------------------------------------------------------------------- void Player::Update( float dt ) { // get scale, rotate, translate for this frame float s = 1.0f; float r = 0.0f; // set up scaling if (IvGame::mGame->mEventHandler->IsKeyDown(';')) { s -= 0.25f*dt; } if (IvGame::mGame->mEventHandler->IsKeyDown('p')) { s += 0.25f*dt; } mScale *= s; // set up rotate if (IvGame::mGame->mEventHandler->IsKeyDown('o')) { r -= kPI*0.25f*dt; } if (IvGame::mGame->mEventHandler->IsKeyDown('u')) { r += kPI*0.25f*dt; } IvMatrix33 rotate; rotate.RotationY(r); mRotate = rotate*mRotate; // set up translation IvVector3 xlate; xlate.Zero(); if (IvGame::mGame->mEventHandler->IsKeyDown('k')) { xlate.x -= 3.0f*dt; } if (IvGame::mGame->mEventHandler->IsKeyDown('i')) { xlate.x += 3.0f*dt; } if (IvGame::mGame->mEventHandler->IsKeyDown('l')) { xlate.y -= 3.0f*dt; } if (IvGame::mGame->mEventHandler->IsKeyDown('j')) { xlate.y += 3.0f*dt; } mTranslate += xlate; // clear transform if (IvGame::mGame->mEventHandler->IsKeyDown(' ')) { mRotate.Identity(); mTranslate.Set(0.0f, 0.0f, 0.0f); mScale = 3.0f; } } // End of Player::Update()
//------------------------------------------------------------------------------- // @ Player::Update() //------------------------------------------------------------------------------- // Main update loop //------------------------------------------------------------------------------- void Player::Update( float dt ) { // get scale, rotate, translate for this frame float s = 1.0f; float r = 0.0f; // set up scaling if (IvGame::mGame->mEventHandler->IsKeyDown(';')) { s -= 0.25f*dt; } if (IvGame::mGame->mEventHandler->IsKeyDown('p')) { s += 0.25f*dt; } mScale *= s; // set up rotate if (IvGame::mGame->mEventHandler->IsKeyDown('o')) { r -= kPI*0.25f*dt; } if (IvGame::mGame->mEventHandler->IsKeyDown('u')) { r += kPI*0.25f*dt; } IvMatrix33 rotate; rotate.RotationZ(r); mRotate = rotate*mRotate; // set up translation IvVector3 xlate; xlate.Zero(); if (IvGame::mGame->mEventHandler->IsKeyDown('k')) { xlate.x -= 3.0f*dt; } if (IvGame::mGame->mEventHandler->IsKeyDown('i')) { xlate.x += 3.0f*dt; } if (IvGame::mGame->mEventHandler->IsKeyDown('l')) { xlate.y -= 3.0f*dt; } if (IvGame::mGame->mEventHandler->IsKeyDown('j')) { xlate.y += 3.0f*dt; } mTranslate += xlate; // clear transform if (IvGame::mGame->mEventHandler->IsKeyDown(' ')) { mRotate.Identity(); mScale = 1.0f; mTranslate.Zero(); } r = 0.0f; static bool lightDirChanged = true; // set up rotate if (IvGame::mGame->mEventHandler->IsKeyDown('a')) { r -= kPI*0.0625f*dt; lightDirChanged = true; } if (IvGame::mGame->mEventHandler->IsKeyDown('d')) { r += kPI*0.0625f*dt; lightDirChanged = true; } if (lightDirChanged) { IvMatrix33 rotate; rotate.RotationY(r); mLightPos = rotate * mLightPos; mLightPos.Normalize(); lightDirChanged = false; } } // End of Player::Update()