From 4496a5ad84ab1698f86c925a8d8098cc239c324d Mon Sep 17 00:00:00 2001 From: Unbewohnte Date: Sun, 2 Jun 2024 14:39:12 +0300 Subject: [PATCH] FEATURE: Capybara dimensions are now scaled to screen dimensions --- src/main.go | 22 ++++++++++++++-------- src/resources/capybara_2.png | Bin 508 -> 457 bytes src/resources/capybara_3.png | Bin 457 -> 508 bytes src/save/save.go | 2 +- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/main.go b/src/main.go index 207b793..901d06d 100644 --- a/src/main.go +++ b/src/main.go @@ -187,7 +187,8 @@ func (g *Game) Update() error { g.PlaySound("boop") } - if g.Save.Points > 0 && g.Save.Points%100 == 0 { + /////////// TODO + if g.Save.Points > 0 && g.Save.Points%100 < uint64(g.Save.Level) { // Level progression g.Save.Level++ g.Save.PassiveIncome++ @@ -243,7 +244,6 @@ func (g *Game) Draw(screen *ebiten.Image) { capybaraKey = "capybara3" } - scale := 10.0 op = &ebiten.DrawImageOptions{} if g.AnimationData.BounceDirectionFlag { g.AnimationData.Theta += 0.001 @@ -251,16 +251,22 @@ func (g *Game) Draw(screen *ebiten.Image) { g.AnimationData.Theta -= 0.001 } - op.GeoM.Scale(scale+g.AnimationData.Squish, scale-g.AnimationData.Squish) - + capybaraBounds := g.ImageResources[capybaraKey].Bounds() + scaleX := float64(screen.Bounds().Dx()) / float64(capybaraBounds.Dx()) / 2.5 + scaleY := float64(screen.Bounds().Dy()) / float64(capybaraBounds.Dy()) / 2.5 + op.GeoM.Scale( + scaleX+g.AnimationData.Squish, + scaleY-g.AnimationData.Squish, + ) op.GeoM.Rotate(g.AnimationData.Theta) - width := g.ImageResources[capybaraKey].Bounds().Dx() * int(scale) - height := g.ImageResources[capybaraKey].Bounds().Dy() * int(scale) + capyWidth := float64(g.ImageResources[capybaraKey].Bounds().Dx()) * scaleX + capyHeight := float64(g.ImageResources[capybaraKey].Bounds().Dy()) * scaleY op.GeoM.Translate( - float64(screen.Bounds().Dx()/2)-float64(width/2), - float64(screen.Bounds().Dy()/2)-float64(height/2), + float64(screen.Bounds().Dx()/2)-capyWidth/2, + float64(screen.Bounds().Dy()/2)-capyHeight/2, ) + screen.DrawImage(g.ImageResources[capybaraKey], op) // Points diff --git a/src/resources/capybara_2.png b/src/resources/capybara_2.png index 873d4d8f91526280dbff1bb492bc2997ca18050d..fc9842aace75e5a829b7579a322c81212cfc8c97 100644 GIT binary patch delta 418 zcmV;T0bTz51IYuBF@J+eL_t(oh3%HHO2j}AhW`^`#qJ6ZL9Q@GL>oyNAHc>YPZ6*T z_!z=9Hu@CSzJR5jL5oWf4&*GZi=b|RH?xVwp?|q-X1<-w{JX%W>*DfM_xXOy z_roF!_3a|jH#;9Fvd|mC3!unC{cv@H^Xq2-!2M#+8^XH+W`FWN5&@)fqygY?_Bt|? zCkOA}YqV!@fHaPDauzfo^0Go+R*mH59*#y5+Mj`sr@H`vysQ8KO4X=qg}cWmc3k$x zG>$YSpu{%Kmn#tjYZI0BrF>(-N+85jK>xjKJ(!Hy@zxSbPfy}j!P^HY$$Yu$6Qa8U zuG8mb1*Pi7nt!c1IaSz}66a<0m8d-l1SaVL?_XdxqOB==15o*0GRy7qg@ z_G-c*v=%@*euD%2wl*8UWy=y-4Z@rNTMtlD+jVSufa#JhLvlJ47lLFnAOh%eL$MQ* z+OzL|BXo&%7XY$xeTKp{yk9>}I#wv_15JV3yr|FEeju0`S-I_*zXw+Yz{dPp*JBV4}|?5q}j2wA5h0}6(Mm{_S#81QF^MDb^bo=-+ZzuT zD?){>M=nh00)H+FGJ0xybb@LLa1oWnk>Er)S3w<7oN2WJR@okg!N8k{QP5#4M=QX# zBs{H_8(cn6w`t|@09uQfUCK-MUAZ~rfC#KdSOK<^j05-f0REfWKfK`+4*%pb)qo(@00000 LNkvXXu0mjf{;beTKp{yk9>}I#wv_15JV3yr|FEeju0`S-I_*zXw+Yz{dPp*JBV4}|?5q}j2wA5h0}6(Mm{_S#81QF^MDb^bo=-+ZzuT zD?){>M=nh00)H+FGJ0xybb@LLa1oWnk>Er)S3w<7oN2WJR@okg!N8k{QP5#4M=QX# zBs{H_8(cn6w`t|@09uQfUCK-MUAZ~rfC#KdSOK<^j05-f0REfWKfK`+4*%pb)qo(@00000 LNkvXXu0mjf{;boyNAHc>YPZ6*T z_!z=9Hu@CSzJR5jL5oWf4&*GZi=b|RH?xVwp?|q-X1<-w{JX%W>*DfM_xXOy z_roF!_3a|jH#;9Fvd|mC3!unC{cv@H^Xq2-!2M#+8^XH+W`FWN5&@)fqygY?_Bt|? zCkOA}YqV!@fHaPDauzfo^0Go+R*mH59*#y5+Mj`sr@H`vysQ8KO4X=qg}cWmc3k$x zG>$YSpu{%Kmn#tjYZI0BrF>(-N+85jK>xjKJ(!Hy@zxSbPfy}j!P^HY$$Yu$6Qa8U zuG8mb1*Pi7nt!c1IaSz}66a<0m8d-l1SaVL?_XdxqOB==15o*0GRy7qg@ z_G-c*v=%@*euD%2wl*8UWy=y-4Z@rNTMtlD+jVSufa#JhLvlJ47lLFnAOh%eL$MQ* z+OzL|BXo&%7XY$x