generated from sigonasr2/CPlusPlusProjectTemplate
Flying controls
Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
parent
0e73971db8
commit
4d48e2653e
Binary file not shown.
13
main.cpp
13
main.cpp
@ -138,6 +138,7 @@ private:
|
||||
|
||||
float fTheta=0;
|
||||
float fYaw=0;
|
||||
float pitch=-M_PI/6;
|
||||
|
||||
vec3d
|
||||
Matrix_MultiplyVector(mat4x4 &m, vec3d &i)
|
||||
@ -471,16 +472,10 @@ public:
|
||||
bool OnUserUpdate(float fElapsedTime) override
|
||||
{
|
||||
if (GetKey(olc::DOWN).bHeld) {
|
||||
vCamera.y-=8*fElapsedTime;
|
||||
pitch-=1*fElapsedTime;
|
||||
}
|
||||
if (GetKey(olc::UP).bHeld) {
|
||||
vCamera.y+=8*fElapsedTime;
|
||||
}
|
||||
if (GetKey(olc::RIGHT).bHeld) {
|
||||
vCamera.x+=8*fElapsedTime;
|
||||
}
|
||||
if (GetKey(olc::LEFT).bHeld) {
|
||||
vCamera.x-=8*fElapsedTime;
|
||||
pitch+=1*fElapsedTime;
|
||||
}
|
||||
vec3d vForward=Vector_Mul(vLookDir,8*fElapsedTime);
|
||||
if (GetKey(olc::W).bHeld) {
|
||||
@ -508,7 +503,7 @@ public:
|
||||
matWorld=Matrix_MultiplyMatrix(matWorld,matTrans);
|
||||
|
||||
vec3d vUp={0,1,0};
|
||||
vec3d vTarget={0,0,1};
|
||||
vec3d vTarget={0,sinf(pitch),cosf(pitch)};
|
||||
mat4x4 matCameraRot=Matrix_MakeRotationY(fYaw);
|
||||
vLookDir=Matrix_MultiplyVector(matCameraRot,vTarget);
|
||||
vTarget=Vector_Add(vCamera,vLookDir);
|
||||
|
Loading…
x
Reference in New Issue
Block a user