From 10b02b1fb15b76c8037760f2a3e8dc3601759f28 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Thu, 21 Oct 2021 19:33:42 -0400 Subject: Add roughly finished level. --- bonnie-bee/moth.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 bonnie-bee/moth.scm (limited to 'bonnie-bee/moth.scm') diff --git a/bonnie-bee/moth.scm b/bonnie-bee/moth.scm new file mode 100644 index 0000000..8f4ed5f --- /dev/null +++ b/bonnie-bee/moth.scm @@ -0,0 +1,42 @@ +(define-module (bonnie-bee moth) + #:use-module (bonnie-bee actor) + #:use-module (bonnie-bee assets) + #:use-module (bonnie-bee bullet) + #:use-module (chickadee audio) + #:use-module (chickadee graphics particles) + #:use-module (chickadee math) + #:use-module (chickadee math rect) + #:use-module (chickadee math vector) + #:use-module (chickadee scripting) + #:use-module (chickadee utils) + #:use-module (oop goops) + #:use-module (starling asset) + #:use-module (starling node) + #:use-module (starling node-2d) + #:export ()) + +(define-class ( )) + +(define-method (on-boot (moth )) + (attach-to moth + (make + #:texture moth-image + #:origin (vec2 32.0 32.0)))) + +(define-method (on-collide (moth ) (bullet )) + (cond + ((player-primary-bullet? bullet) + (damage moth 1) + (kill-bullet bullet) + #t) + ((player-bomb-bullet? bullet) + (damage moth 10) + (kill-bullet bullet)) + (else #f))) + +(define-method (on-death (moth )) + (audio-play (asset-ref explosion-sound)) + (let ((p (position moth))) + (add-particle-emitter (particles (particles (parent moth))) + (make-particle-emitter (make-rect (vec2-x p) (vec2-y p) 1.0 1.0) + 4 3)))) -- cgit v1.2.3