diff options
| author | realtradam <[email protected]> | 2024-05-12 15:35:37 -0400 |
|---|---|---|
| committer | realtradam <[email protected]> | 2024-05-12 15:35:37 -0400 |
| commit | f5311cc940fd94aa70808f19a38581c80b764615 (patch) | |
| tree | 469b4cf4a1f96d9870cebb237cad620a51adb12f /src/player.c | |
| parent | c0ff8b58a37a7d66b3ba5d2089132fb589b03ede (diff) | |
| download | tojam2024-f5311cc940fd94aa70808f19a38581c80b764615.tar.gz tojam2024-f5311cc940fd94aa70808f19a38581c80b764615.zip | |
working movement system
Diffstat (limited to 'src/player.c')
| -rw-r--r-- | src/player.c | 59 |
1 files changed, 46 insertions, 13 deletions
diff --git a/src/player.c b/src/player.c index 64f12c9..3b30b05 100644 --- a/src/player.c +++ b/src/player.c @@ -1,6 +1,7 @@ #include "player.h" #include "world.h" #include <fmath.h> +#include "raymath.h" void drawPlayer(Player *player) @@ -33,26 +34,58 @@ lookThroughPlayer(Camera camera, Player player) void movePlayers(void) { - float x = inputs_p1.stick_x / 126.0f; - float y = -inputs_p1.stick_y / 126.0f; + float xinput = inputs_p1.stick_x / 126.0f; + float yinput = -inputs_p1.stick_y / 126.0f; + + //float distance = sqrtf(xinput * xinput + yinput * yinput); + //if(distance == 0) + //{ + // distance = 1; + //} + + Vector2 direction = { + world.players[0].direction.x, + world.players[0].direction.y + }; + + char text[50]; + + sprintf(text, "x: %f", direction.x); + DrawText(text, 160, 45, 12, GREEN); + sprintf(text, "y: %f", direction.y); + DrawText(text, 160, 60, 12, GREEN); + sprintf(text, "z: %f", world.players[0].direction.z); + DrawText(text, 160, 75, 12, GREEN); + + direction = Vector2Rotate(direction, 0.01745329 * -xinput * 7); + + sprintf(text, "x: %f", direction.x); + DrawText(text, 160, 175, 12, GREEN); + sprintf(text, "y: %f", direction.y); + DrawText(text, 160, 190, 12, GREEN); + sprintf(text, "z: %f", world.players[0].direction.z); + DrawText(text, 160, 205, 12, GREEN); + + world.players[0].direction.z = yinput; + world.players[0].direction.x = direction.x; + world.players[0].direction.y = direction.y; //float x = world.players[0].direction.x; //float y = world.players[0].direction.z; - float distance = sqrtf(x * x + y * y); - if(distance != 0) - { - world.players[0].direction.x = x / distance; - world.players[0].direction.y = y / distance; - } + //if(distance != 0) + //{ + // world.players[0].direction.x = x / distance; + // world.players[0].direction.y = y / distance; + //} - world.players[1].direction.y = inputs_p2.stick_x / 126.0f; - world.players[1].direction.z = -inputs_p2.stick_y / 126.0f; + //world.players[1].direction.y = inputs_p2.stick_x / 126.0f; + //world.players[1].direction.z = -inputs_p2.stick_y / 126.0f; - world.players[0].position.x += world.players[0].direction.x * world.players[0].speed; - world.players[0].position.y += world.players[0].direction.y * world.players[0].speed; - world.players[0].position.z += world.players[0].direction.z * world.players[0].speed; + world.players[0].position.x += world.players[0].direction.x * 0.1f; //* world.players[0].speed; + world.players[0].position.y += world.players[0].direction.y * 0.1f; //* world.players[0].speed; + world.players[0].position.z += world.players[0].direction.z * 0.1f; //* world.players[0].speed; world.players[1].position.x += world.players[1].direction.x * world.players[1].speed; world.players[1].position.y += world.players[1].direction.y * world.players[1].speed; world.players[1].position.z += world.players[1].direction.z * world.players[1].speed; |
