Skip to content

Commit

Permalink
refactor(gameobjects): move speed inside player
Browse files Browse the repository at this point in the history
  • Loading branch information
remarkablemark committed Jan 26, 2025
1 parent e70ff72 commit e9ef066
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 20 deletions.
11 changes: 4 additions & 7 deletions src/events/cursors.ts
Original file line number Diff line number Diff line change
@@ -1,29 +1,26 @@
import type { Player } from '../types'

// pixels per second
const SPEED = 320

export function addCursorKeys(player: Player) {
onKeyDown((key) => {
switch (key) {
case 'left':
case 'a':
player.move(-SPEED, 0)
player.move(-player.speed, 0)
break

case 'right':
case 'd':
player.move(SPEED, 0)
player.move(player.speed, 0)
break

case 'up':
case 'w':
player.move(0, -SPEED)
player.move(0, -player.speed)
break

case 'down':
case 's':
player.move(0, SPEED)
player.move(0, player.speed)
break
}
})
Expand Down
20 changes: 8 additions & 12 deletions src/events/states.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,16 @@ import { addBadBubble, addProjectile, getPlayer } from '../gameobjects'
import type { Enemy } from '../types'

export function addEnemyState(enemy: Enemy) {
enemy.onStateEnter(State.Idle, async () => {
enemy.onStateEnter(State.Idle, () => {
enemy.play(Animation.Idle)
await wait(rand(0.3, 1))
enemy.enterState(State.Move)
wait(rand(0.3, 1), () => enemy.enterState(State.Move))
})

enemy.onStateEnter(State.Move, () => {
enemy.play(Animation.Move)
})

enemy.onStateEnter(State.Attack, async () => {
enemy.onStateEnter(State.Attack, () => {
const player = getPlayer()

if (!player?.exists()) {
Expand All @@ -32,20 +31,17 @@ export function addEnemyState(enemy: Enemy) {
break
}

await wait(0.2)
enemy.enterState(State.Cooldown)
wait(0.2, () => enemy.enterState(State.Cooldown))
})

enemy.onStateEnter(State.Cooldown, async () => {
enemy.onStateEnter(State.Cooldown, () => {
enemy.play(Animation.Cooldown)
await wait(rand(1, 3))
enemy.enterState(State.Move)
wait(rand(1, 3), () => enemy.enterState(State.Move))
})

enemy.onStateEnter(State.Stunned, async () => {
enemy.onStateEnter(State.Stunned, () => {
enemy.play(Animation.Stunned)
await wait(rand(0.3, 1))
enemy.enterState(State.Move)
wait(rand(0.3, 1), () => enemy.enterState(State.Move))
})

enemy.onStateUpdate(State.Move, () => {
Expand Down
2 changes: 1 addition & 1 deletion src/gameobjects/player.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export function addPlayer(x = center().x, y = center().y) {
scale(0.75),
health(HEALTH, HEALTH),
Tag.Player,
{ bubble: false },
{ bubble: false, speed: 320 },
])

addCursorKeys(player)
Expand Down

0 comments on commit e9ef066

Please sign in to comment.