laeuft wieder mit neuer guter Struktur :)

main
JanEhehalt 3 years ago
parent a4caadbfc4
commit 613ade1a0e

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

@ -1,18 +1,12 @@
struct InputHandler{
int pressed;
Vector2 rectStart;
Vector2 cursorPos;
} InputHandler;
#include "inputHandler.h"
#include "raylib.h"
#include "sprite.h"
#include <stdio.h>
//TODO: Macht es Sinn ein einzelnes "Game" struct zu haben, das alle möglichen Pointer hat zu allen arrays, camera, textures etc?
// Man hat einen Übergabeparameter mit dem man dann alles verändern kann, man muss nicht alles was man verändern will einzeln übergeben
/*
cursor.x = GetMousePosition().x - texture.width / 2;
cursor.y = GetMousePosition().y - texture.height / 2;
*/
void mouseInput(struct InputHandler *inputHandler, struct Sprite *sprites, int *spriteAmount, Texture2D *texture, Camera2D *camera){
void mouseInput(InputHandler *inputHandler, Sprite *sprites, int *spriteAmount, Texture2D *texture, Camera2D *camera){
inputHandler->cursorPos.x = GetMousePosition().x;
inputHandler->cursorPos.y = GetMousePosition().y;
@ -54,7 +48,7 @@ void mouseInput(struct InputHandler *inputHandler, struct Sprite *sprites, int *
}
void keyboardInput(struct InputHandler *inputHandler, Camera2D *camera){
void keyboardInput(InputHandler *inputHandler, Camera2D *camera){
if(IsKeyDown(KEY_W)){
(*camera).target.y -= 100.0f * GetFrameTime();
}

@ -0,0 +1,16 @@
#ifndef INPUTHANDLER_H_
#define INPUTHANDLER_H_
#include "raylib.h"
#include "sprite.h"
typedef struct InputHandler{
int pressed;
Vector2 rectStart;
Vector2 cursorPos;
} InputHandler;
void mouseInput(InputHandler *inputHandler, Sprite *sprites, int *spriteAmount, Texture2D *texture, Camera2D *camera);
void keyboardInput(InputHandler *inputHandler, Camera2D *camera);
#endif

Binary file not shown.

@ -1,7 +1,7 @@
#include "raylib.h"
#include "stdio.h"
#include "sprite.h"
#include "inputHandling.h"
#include "inputHandler.h"
#include "raymath.h"
int main(){
@ -16,7 +16,7 @@ int main(){
int spriteAmount = 0;
Sprite cursorSprite = {&texture, 450, 225};
struct InputHandler inputHandler;
InputHandler inputHandler;
Camera2D camera = { 0 };
camera.target = (Vector2){400, 225};

BIN
main.o

Binary file not shown.

BIN
spiel

Binary file not shown.

@ -2,7 +2,7 @@
#include "raylib.h"
#include <stdio.h>
void SpriteAdd(struct Sprite *sprites, int *spriteAmount, Texture2D *texture, int x, int y){
void SpriteAdd(Sprite *sprites, int *spriteAmount, Texture2D *texture, int x, int y){
if(*spriteAmount < 100){
(sprites + *spriteAmount) -> texture = texture;
(sprites + *spriteAmount) -> x = x;
@ -14,6 +14,6 @@ void SpriteAdd(struct Sprite *sprites, int *spriteAmount, Texture2D *texture, in
}
}
void DrawSprite(struct Sprite *sprite){
void DrawSprite(Sprite *sprite){
DrawTexture(*sprite->texture, sprite->x, sprite->y, WHITE);
}

@ -11,8 +11,8 @@ typedef struct Sprite {
int hasDestination;
} Sprite;
void SpriteAdd(struct Sprite *sprites, int *spriteAmount, Texture2D *texture, int x, int y);
void SpriteAdd(Sprite *sprites, int *spriteAmount, Texture2D *texture, int x, int y);
void DrawSprite(struct Sprite *sprite);
void DrawSprite(Sprite *sprite);
#endif

Loading…
Cancel
Save