34 lines
1.3 KiB
Plaintext
34 lines
1.3 KiB
Plaintext
(loadFrom "hollywoo" "src/hollywoo/HollywooDSL.kiss")
|
|
(loadFrom "hollywoo-flixel" "src/hollywoo_flixel/AssetMacros.kiss")
|
|
|
|
(defMacroVar subclass true)
|
|
(loadFrom "hollywoo" "src/hollywoo/Movie.kiss")
|
|
|
|
(method newFlxScene [name set time perspective]
|
|
(let [setSprite (new FlxSprite 0 0)]
|
|
(setSprite.loadGraphic (dictGet sets set))
|
|
(newScene name (cast (new SceneFlxState setSprite time perspective)))))
|
|
|
|
(method newFlxSound [name path &opt :Float volume]
|
|
(set volume (or volume 1))
|
|
(assert (<= 0 volume 1))
|
|
(let [s (FlxG.sound.load path)]
|
|
(set s.volume volume)
|
|
(set s.persist true)
|
|
(newSound name s)))
|
|
|
|
(method newFlxProp [name path]
|
|
(let [propSprite (new FlxSprite 0 0)]
|
|
(propSprite.loadGraphic path)
|
|
(newProp name propSprite)))
|
|
|
|
(method :Void update [:Float elapsed]
|
|
// TODO CCs queued to timers will still be called
|
|
(#when debug
|
|
(when FlxG.keys.justPressed.N
|
|
(doFor [idx label] (enumerate labels)
|
|
(when (> label lastInstructionPointer)
|
|
(doFor =>labelName labelIdx labelsByName
|
|
(when (= labelIdx label) (trace "SKIPPING TO $labelName")))
|
|
(runInstruction (dictGet instructionPointersByLine label))
|
|
(break)))))) |