aboutsummaryrefslogtreecommitdiffstats
path: root/src/clicky.c
diff options
context:
space:
mode:
authornathansmith117 <thenathansmithsmith@gmail.com>2024-02-22 19:19:43 +0000
committernathansmith117 <thenathansmithsmith@gmail.com>2024-02-22 19:19:43 +0000
commitd6c58243b7b9d90e5e23af2f3c866ddf316cb0fa (patch)
tree0ee4b8533b28eb3e3d4be034c0eb356d83b98734 /src/clicky.c
parent1ce1a705c61064e44f83c772b70ee9b208a4c289 (diff)
downloadPenguinYippies-d6c58243b7b9d90e5e23af2f3c866ddf316cb0fa.tar.gz
PenguinYippies-d6c58243b7b9d90e5e23af2f3c866ddf316cb0fa.tar.bz2
PenguinYippies-d6c58243b7b9d90e5e23af2f3c866ddf316cb0fa.zip
Can now use pixel data for collision
Diffstat (limited to 'src/clicky.c')
-rw-r--r--src/clicky.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/clicky.c b/src/clicky.c
index 88b23ce..7790715 100644
--- a/src/clicky.c
+++ b/src/clicky.c
@@ -12,13 +12,8 @@ void updatePenguinLol(Game* game, Clicky* clicky)
{
if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON))
{
- Rectangle clickRect = clicky->rect;
- clickRect.width /= 2.0;
- clickRect.height /= 2.0;
- clickRect.x += clickRect.width / 2.0;
- clickRect.y += clickRect.height / 2.0;
-
- if (CheckCollisionPointRec(getScaledMousePosition(), clickRect))
+ if (doesCollideWithAnimationData(clicky->rect, clicky->animation.asset->image.data,
+ clicky->animation.width, clicky->animation.height, clicky->animation.currentFrame, getScaledMousePosition()))
{
replayAnimation(&clicky->animation);
}
@@ -37,11 +32,13 @@ Clicky createPenguinLolClicky(Game* game)
Clicky clicky;
clicky.animation = createAnimation(&game->assets.animations[PENGUIN_LOL_ANIMATION], ANIMATION_DEFAULT_DELAY);
- setAnimationFrame(&clicky.animation, clicky.animation.frameCount - 1);
+ setAnimationFrame(&clicky.animation, 0);
clicky.animation.repeat = false;
clicky.texture = NULL;
clicky.rect = (Rectangle){0.0, 0.0, 512, 512};
+ clicky.colors = LoadImageColors(game->assets.animations[PENGUIN_LOL_ANIMATION].image);
+
clicky.data = NULL;
clicky.updateCB = updatePenguinLol;
@@ -51,4 +48,5 @@ Clicky createPenguinLolClicky(Game* game)
void freePenginLolClicky(Clicky clicky)
{
closeAnimation(&clicky.animation);
+ UnloadImageColors(clicky.colors);
}