44 lines
No EOL
1.1 KiB
C
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);
|
|
}
|
|
} |