simple-raylib-movement/source/player.c
2024-02-16 17:10:42 -08:00

44 lines
No EOL
1.1 KiB
C

#include "player.h"
#include <raylib.h>
#include <stdlib.h>
#include <stdio.h>
Player* createPlayer(Vector2 position, Texture sprite, float speed) {
Player* player = (Player*)malloc(sizeof(Player));
if (player != NULL) {
player->position = position;
player->sprite = sprite;
player->speed = speed;
} else {
printf("ERROR creating player\n");
return NULL;
}
return player;
}
void updatePlayer(Player *player, float delta) {
if (IsKeyDown(KEY_A)) {
player->position.x -= player->speed * delta;
}
if (IsKeyDown(KEY_D)) {
player->position.x += player->speed * delta;
}
if (IsKeyDown(KEY_W)) {
player->position.y -= player->speed * delta;
}
if (IsKeyDown(KEY_S)) {
player->position.y += player->speed * delta;
}
}
void renderPlayer(Player* player) {
DrawTextureEx(player->sprite, player->position, 0, 0.2f, RAYWHITE);
}
void destroyPlayer(Player *player) {
if (player != NULL) {
UnloadTexture(player->sprite);
free(player);
}
}