From c32fa65e68a3e12a0abc1939fa7745da67ced668 Mon Sep 17 00:00:00 2001 From: Mark Date: Sat, 17 Feb 2024 22:55:23 -0500 Subject: [PATCH] refactor(gameobjects): improve star --- public/sprites/star.png | Bin 29211 -> 10960 bytes src/gameobjects/index.ts | 1 + src/gameobjects/keys.ts | 19 +++---------------- src/gameobjects/star.ts | 39 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 43 insertions(+), 16 deletions(-) create mode 100644 src/gameobjects/star.ts diff --git a/public/sprites/star.png b/public/sprites/star.png index 1e3ac58e1f85f725a3efda5087c5218bf1086092..d0b8ea9206463d6b175c46b5a94f136595f3912e 100644 GIT binary patch literal 10960 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 Na#G5Y_2Qh&)on3 literal 29211 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 { onCollideUpdate(key, Tag.direction, () => { if (isKeyPressed(key)) { - add([ - sprite(Sprite.star), - pos(center()), - anchor('center'), - scale(0.4), - lifespan(0.03, { fade: 0.5 }), - opacity(1), - ]); + addStar(); incrementScore(); } }); diff --git a/src/gameobjects/star.ts b/src/gameobjects/star.ts new file mode 100644 index 0000000..400aa21 --- /dev/null +++ b/src/gameobjects/star.ts @@ -0,0 +1,39 @@ +import type { GameObj, ScaleComp } from 'kaboom'; + +import { Sprite } from '../constants'; + +export function addStar(position = center()) { + const kaboom = add([pos(position), stay()]); + + const speed = 1 * 5; + const size = 1; + + const ka = kaboom.add([ + sprite(Sprite.star), + scale(0), + anchor('center'), + timer(), + opacity(0.5), + ]); + + ka.wait(0.4 / speed, () => ka.use(boom(speed, size))); + ka.onDestroy(() => kaboom.destroy()); + + return kaboom; +} + +function boom(speed: number = 2, size: number = 1) { + let time = 0; + + return { + require: ['scale'], + update(this: GameObj) { + const s = Math.sin(time * speed) * size; + if (s < 0) { + this.destroy(); + } + this.scale = vec2(s); + time += dt(); + }, + }; +}