Updates to match new primary repo.

This commit is contained in:
2023-10-02 14:38:49 -04:00
parent db5da9bb48
commit 8f7b16a9ae
13 changed files with 545 additions and 229 deletions

View File

@@ -5,7 +5,6 @@ import (
_ "embed"
"image"
_ "image/png"
"log"
"github.com/hajimehoshi/ebiten/v2"
)
@@ -14,9 +13,9 @@ const (
REWARD_HEIGHT = 32
REWARD_WIDTH = 32
SHINY_ANIMATION_CYCLES = 9
SHINY_ROW_INDEX = 11
SPARKLE_ROW_INDEX = 7
REWARD_FX_CYCLES = 9 //number of animation cycles for effects
REWARD_FX_SHEEN_IDX = 11 //row offset from png, sheen effect
REWARD_FX_SPRKL_IDX = 7 //row offset from png, sparkle effect
)
var (
@@ -51,21 +50,22 @@ func (r *Reward) Animate() {
r.scratch.DrawImage(rewardsImage.SubImage(image.Rect(0, 0, REWARD_WIDTH, REWARD_HEIGHT)).(*ebiten.Image), nil)
if r.cycle < SHINY_ANIMATION_CYCLES {
//animate the effects
if r.cycle < REWARD_FX_CYCLES {
//add sheen
op := &ebiten.DrawImageOptions{}
op.Blend = ebiten.BlendSourceAtop
sx := r.cycle * REWARD_WIDTH
sy := REWARD_HEIGHT * SHINY_ROW_INDEX
sy := REWARD_HEIGHT * REWARD_FX_SHEEN_IDX
ex := sx + REWARD_WIDTH
ey := sy + REWARD_HEIGHT
r.scratch.DrawImage(shinyImage.SubImage(image.Rect(sx, sy, ex, ey)).(*ebiten.Image), op)
//add sparkle
spsy := REWARD_HEIGHT * SPARKLE_ROW_INDEX
//add sparkle: x postions are identical to sheen (same png sheet), just need to compute new y offsets
spsy := REWARD_HEIGHT * REWARD_FX_SPRKL_IDX
spey := spsy + REWARD_HEIGHT
op.GeoM.Translate(REWARD_WIDTH/2, REWARD_HEIGHT/2)
r.scratch.DrawImage(shinyImage.SubImage(image.Rect(sx, spsy, ex, spey)).(*ebiten.Image), nil)
@@ -76,7 +76,7 @@ func (r *Reward) Animate() {
}
func (r *Reward) CycleUpdate() {
r.cycle = (r.cycle + 1) % (SHINY_ANIMATION_CYCLES * 8)
r.cycle = (r.cycle + 1) % (REWARD_FX_CYCLES * 8)
}
func (r *Reward) Width() int {
@@ -91,13 +91,13 @@ func init() {
img, _, err := image.Decode(bytes.NewReader(assetsReward_png))
if err != nil {
log.Fatal(err)
DashLogger.Fatal(err)
}
rewardsImage = ebiten.NewImageFromImage(img)
img, _, err = image.Decode(bytes.NewReader(assetsShiny_png))
if err != nil {
log.Fatal(err)
DashLogger.Fatal(err)
}
shinyImage = ebiten.NewImageFromImage(img)