JanEhehalt 3 years ago
commit 4cc6db1a87

@ -1,8 +1,11 @@
spiel: main.o spiel: main.o sprite.o
gcc -o spiel main.o -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 gcc -o spiel main.o sprite.o -lraylib -lGL -lm -lpthread -ldl -lrt -lX11
main.o: main.c main.o: main.c
gcc -c main.c -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 gcc -c main.c -lraylib -lGL -lm -lpthread -ldl -lrt -lX11
sprite.o: sprite.c
gcc -c sprite.c -lraylib -lGL -lm -lpthread -ldl -lrt -lX11
clean: clean:
rm *.o rm *.o spiel

@ -9,13 +9,17 @@ int main(){
InitWindow(800, 450, "basic window"); InitWindow(800, 450, "basic window");
Texture2D texture; Texture2D texture;
struct Sprite sprites[100]; Sprite sprites[100];
texture = LoadTexture("assets/amulet.png"); texture = LoadTexture("assets/amulet.png");
int spriteAmount = 0; int spriteAmount = 0;
struct Sprite cursorSprite = {&texture, 450, 225}; struct Sprite cursorSprite = {&texture, 450, 225};
texture = LoadTexture("amulet.png");
int j = 0;
Sprite cursor = {&texture, 450, 225};
struct InputHandler inputHandler; struct InputHandler inputHandler;
Camera2D camera = { 0 }; Camera2D camera = { 0 };
@ -23,7 +27,7 @@ int main(){
camera.rotation = 0.0f; camera.rotation = 0.0f;
camera.zoom = 1.0f; camera.zoom = 1.0f;
addSprite(sprites, &spriteAmount, &texture, 400, 225); SpriteAdd(sprites, &j, &texture, cursor.x + camera.target.x, cursor.y + camera.target.y);
SetTargetFPS(60); SetTargetFPS(60);
while(!WindowShouldClose()){ while(!WindowShouldClose()){
@ -34,9 +38,9 @@ int main(){
BeginMode2D(camera); BeginMode2D(camera);
int i; int i;
int length = sizeof(sprites)/sizeof(sprites[0]); //int length = sizeof(sprites)/sizeof(sprites[0]);
for(i=0; i < spriteAmount; i++){ for(i=0; i < j; i++){
DrawSprite(&sprites[i]); DrawTexture(*sprites[i].texture, sprites[i].x, sprites[i].y, WHITE);
} }
EndMode2D(); EndMode2D();
@ -49,6 +53,12 @@ int main(){
mouseInput(&inputHandler, sprites, &spriteAmount, &texture, &camera); mouseInput(&inputHandler, sprites, &spriteAmount, &texture, &camera);
keyboardInput(&inputHandler, &camera); keyboardInput(&inputHandler, &camera);
/*
if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT)){
printf("Klick\n");
SpriteAdd(sprites, &j, &texture, cursor.x + camera.target.x, cursor.y + camera.target.y);
}
*/
// Sprites move towards their destination // Sprites move towards their destination
float movementSpeed = 10.0f; float movementSpeed = 10.0f;

BIN
main.o

Binary file not shown.

BIN
spiel

Binary file not shown.

@ -0,0 +1,14 @@
#include "sprite.h"
#include "raylib.h"
void SpriteAdd(struct Sprite *cursors, int *j, Texture2D *texture, int x, int y){
if(*j < 100){
(cursors + *j) -> texture = texture;
(cursors + *j) -> x = x;
(cursors + *j) -> y = y;
(*j)++;
}
else{
printf("Voll\n");
}
}

@ -1,4 +1,8 @@
struct Sprite{ #ifndef SPRITE_H_
#define SPRITE_H_
#include "raylib.h"
typedef struct Sprite {
Texture2D *texture; Texture2D *texture;
float x; float x;
float y; float y;
@ -7,19 +11,6 @@ struct Sprite{
int hasDestination; int hasDestination;
} Sprite; } Sprite;
void addSprite(struct Sprite *sprites, int *spriteAmount, Texture2D *texture, int x, int y){ void SpriteAdd(struct Sprite *cursors, int *j, Texture2D *texture, int x, int y);
if(*spriteAmount < 100){
(sprites + *spriteAmount) -> texture = texture;
(sprites + *spriteAmount) -> x = x;
(sprites + *spriteAmount) -> y = y;
(*spriteAmount)++;
//printf("SPRITE\n");
}
else{
printf("Sprites Voll\n");
}
}
void DrawSprite(struct Sprite *sprite){ #endif
DrawTexture(*sprite->texture, sprite->x, sprite->y, WHITE);
}

Binary file not shown.
Loading…
Cancel
Save