diff options
| author | ilotterytea <iltsu@alright.party> | 2024-12-11 13:11:41 +0500 |
|---|---|---|
| committer | ilotterytea <iltsu@alright.party> | 2024-12-11 13:11:41 +0500 |
| commit | 493b668742ceb28a4e10ca5016e652f9638429aa (patch) | |
| tree | 4f07933b5e71cc6d73d09d59cd14d202a629439a | |
| parent | 80c74c80615693cf4b8a5090121dad8d14ccfb0f (diff) | |
feat: texture for stars
| -rw-r--r-- | src/main.c | 20 | ||||
| -rw-r--r-- | src/star.c | 4 | ||||
| -rw-r--r-- | src/star.h | 3 |
3 files changed, 21 insertions, 6 deletions
@@ -14,8 +14,17 @@ int main(int argc, char *argv[]) { Star stars[STAR_AMOUNT] = {}; + Texture2D* texture = NULL; + + if (FileExists("star.png")) { + Image image = LoadImage("star.png"); + Texture2D loadedTexture = LoadTextureFromImage(image); + texture = &loadedTexture; + UnloadImage(image); + } + for (int i = 0; i < STAR_AMOUNT; i++) { - stars[i] = StarCreate(); + stars[i] = StarCreate(texture); } while (!WindowShouldClose()) { @@ -39,8 +48,13 @@ int main(int argc, char *argv[]) { StarUpdate(star, screen_center_x, screen_center_y); - DrawRectangle(star->renderPosition.x, star->renderPosition.y, - star->size.x, star->size.y, star->color); + if (star->texture == NULL) { + DrawRectangle(star->renderPosition.x, star->renderPosition.y, + star->size.x, star->size.y, star->color); + } else { + DrawTextureEx(*star->texture, star->renderPosition, 0.0, + star->size.x / 10.0, star->color); + } } EndDrawing(); @@ -22,13 +22,13 @@ Vector3 Generate3DPosition() { return v; } -Star StarCreate() { +Star StarCreate(Texture *texture) { double velocity = rand() % (STAR_MAX_VELOCITY + 1 - STAR_MIN_VELOCITY) + STAR_MIN_VELOCITY; velocity /= 100.0; - return (Star){Generate3DPosition(), {1, 1}, {0, 0}, velocity, BLACK}; + return (Star){Generate3DPosition(), {1, 1}, {0, 0}, velocity, WHITE, texture}; } void StarUpdate(Star *star, float screen_center_x, float screen_center_y) { @@ -5,9 +5,10 @@ typedef struct Star { Vector2 size, renderPosition; float velocity; Color color; + Texture *texture; } Star; -Star StarCreate(); +Star StarCreate(Texture *texture); void StarUpdate(Star *star, float screen_center_x, float screen_center_y); Vector3 Generate3DPosition(); |
