laeuft wieder mit neuer guter Struktur :)

main
JanEhehalt 3 years ago
parent a4caadbfc4
commit 613ade1a0e

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

@ -1,18 +1,12 @@
struct InputHandler{ #include "inputHandler.h"
int pressed; #include "raylib.h"
Vector2 rectStart; #include "sprite.h"
Vector2 cursorPos; #include <stdio.h>
} InputHandler;
//TODO: Macht es Sinn ein einzelnes "Game" struct zu haben, das alle möglichen Pointer hat zu allen arrays, camera, textures etc? //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 // Man hat einen Übergabeparameter mit dem man dann alles verändern kann, man muss nicht alles was man verändern will einzeln übergeben
/* void mouseInput(InputHandler *inputHandler, Sprite *sprites, int *spriteAmount, Texture2D *texture, Camera2D *camera){
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){
inputHandler->cursorPos.x = GetMousePosition().x; inputHandler->cursorPos.x = GetMousePosition().x;
inputHandler->cursorPos.y = GetMousePosition().y; 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)){ if(IsKeyDown(KEY_W)){
(*camera).target.y -= 100.0f * GetFrameTime(); (*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 "raylib.h"
#include "stdio.h" #include "stdio.h"
#include "sprite.h" #include "sprite.h"
#include "inputHandling.h" #include "inputHandler.h"
#include "raymath.h" #include "raymath.h"
int main(){ int main(){
@ -16,7 +16,7 @@ int main(){
int spriteAmount = 0; int spriteAmount = 0;
Sprite cursorSprite = {&texture, 450, 225}; Sprite cursorSprite = {&texture, 450, 225};
struct InputHandler inputHandler; InputHandler inputHandler;
Camera2D camera = { 0 }; Camera2D camera = { 0 };
camera.target = (Vector2){400, 225}; 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 "raylib.h"
#include <stdio.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){ if(*spriteAmount < 100){
(sprites + *spriteAmount) -> texture = texture; (sprites + *spriteAmount) -> texture = texture;
(sprites + *spriteAmount) -> x = x; (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); DrawTexture(*sprite->texture, sprite->x, sprite->y, WHITE);
} }

@ -11,8 +11,8 @@ typedef struct Sprite {
int hasDestination; int hasDestination;
} Sprite; } 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 #endif

Loading…
Cancel
Save