PR formatting review

This commit is contained in:
Ray 2019-08-16 16:15:47 +02:00
parent d8b8c0f3fc
commit ce8d7042c6
2 changed files with 15 additions and 19 deletions

View file

@ -42,7 +42,7 @@ int main(void)
Camera2D camera = { 0 }; Camera2D camera = { 0 };
camera.target = (Vector2){ player.x + 20, player.y + 20 }; camera.target = (Vector2){ player.x + 20, player.y + 20 };
camera.offset = (Vector2){ screenWidth / 2, screenHeight / 2 }; camera.offset = (Vector2){ screenWidth/2, screenHeight/2 };
camera.rotation = 0.0f; camera.rotation = 0.0f;
camera.zoom = 1.0f; camera.zoom = 1.0f;
@ -54,14 +54,10 @@ int main(void)
{ {
// Update // Update
//---------------------------------------------------------------------------------- //----------------------------------------------------------------------------------
if (IsKeyDown(KEY_RIGHT))
{ // Player movement
player.x += 2; // Player movement if (IsKeyDown(KEY_RIGHT)) player.x += 2;
} else if (IsKeyDown(KEY_LEFT)) player.x -= 2;
else if (IsKeyDown(KEY_LEFT))
{
player.x -= 2; // Player movement
}
// Camera target follows player // Camera target follows player
camera.target = (Vector2){ player.x + 20, player.y + 20 }; camera.target = (Vector2){ player.x + 20, player.y + 20 };

View file

@ -1251,20 +1251,20 @@ void BeginMode2D(Camera2D camera)
rlLoadIdentity(); // Reset current matrix (MODELVIEW) rlLoadIdentity(); // Reset current matrix (MODELVIEW)
rlMultMatrixf(MatrixToFloat(screenScaling)); // Apply screen scaling if required rlMultMatrixf(MatrixToFloat(screenScaling)); // Apply screen scaling if required
//The camera in world-space is set by // The camera in world-space is set by
//1. Move it to target // 1. Move it to target
//2. Rotate by -rotation and scale by (1/zoom) // 2. Rotate by -rotation and scale by (1/zoom)
// When setting higher scale, it's more intuitive for the world to become bigger (= camera become smaller), // When setting higher scale, it's more intuitive for the world to become bigger (= camera become smaller),
// not for the camera getting bigger, hence the invert. Same deal with rotation. // not for the camera getting bigger, hence the invert. Same deal with rotation.
//3. Move it by (-offset); // 3. Move it by (-offset);
// Offset defines target transform relative to screen, but since we're effectively "moving" screen (camera) // Offset defines target transform relative to screen, but since we're effectively "moving" screen (camera)
// we need to do it into opposite direction (inverse transform) // we need to do it into opposite direction (inverse transform)
//
//Having camera transform in world-space, inverse of it gives the modelview transform. // Having camera transform in world-space, inverse of it gives the modelview transform.
//Since (A*B*C)' = C'*B'*A', the modelview is // Since (A*B*C)' = C'*B'*A', the modelview is
//1. Move to offset // 1. Move to offset
//2. Rotate and Scale // 2. Rotate and Scale
//3. Move by -target // 3. Move by -target
Matrix matOrigin = MatrixTranslate(-camera.target.x, -camera.target.y, 0.0f); Matrix matOrigin = MatrixTranslate(-camera.target.x, -camera.target.y, 0.0f);
Matrix matRotation = MatrixRotate((Vector3){ 0.0f, 0.0f, 1.0f }, camera.rotation*DEG2RAD); Matrix matRotation = MatrixRotate((Vector3){ 0.0f, 0.0f, 1.0f }, camera.rotation*DEG2RAD);
Matrix matScale = MatrixScale(camera.zoom, camera.zoom, 1.0f); Matrix matScale = MatrixScale(camera.zoom, camera.zoom, 1.0f);