[rpg] Generate enemies and boss

This commit is contained in:
2021-03-09 18:57:40 -07:00
parent 52a8bb09d2
commit 652b83242e
3 changed files with 74 additions and 1 deletions

View File

@@ -0,0 +1,52 @@
(defvar &inline :Float SPEED 140)
(defprop &mut :EnemyType type null)
(defmethod new [:Float x :Float y :EnemyType type]
(super x y)
(set this.type type)
(loadGraphic
(case type
(BOSS
AssetPaths.boss__png)
(otherwise AssetPaths.enemy__png))
true
16
16)
(setFacingFlip FlxObject.LEFT false false)
(setFacingFlip FlxObject.RIGHT true false)
(animation.add "d" [0 1 0 2] 6 false)
(animation.add "lr" [3 4 3 5] 6 false)
(animation.add "u" [6 7 6 8] 6 false)
(set drag.x (set drag.y 10))
(set width 8)
(set height 14)
(set offset.x 4)
(set offset.y 2)
(return))
(defmethod &override update [:Float elapsed]
(when (and
(or !(= velocity.x 0) !(= velocity.y 0))
(= touching FlxObject.NONE))
(if (> (Math.abs velocity.x) (Math.abs velocity.y))
(if (< velocity.x 0)
(set facing FlxObject.LEFT)
(set facing FlxObject.RIGHT))
(if (< velocity.y 0)
(set facing FlxObject.UP)
(set facing FlxObject.DOWN)))
(case facing
((or FlxObject.LEFT FlxObject.RIGHT)
(animation.play "lr"))
(FlxObject.UP
(animation.play "u"))
(FlxObject.DOWN
(animation.play "d")))
(super.update elapsed))
(return))