スマホにいちいち転送して動作を確認するのは面倒なので、まずはDishの作法で書きつつ、Windowsで動くようにする。
プログラムの冒頭には、Dishを使うおまじない。#include "hsp3dish.as" と書いておく。
celload命令で、画像を読み込んでおく。ここでは筐体と、救助隊の画像をそれぞれ読み込んだ。
救助隊の移動は、カーソルキーで行うようにする。
カーソルキーの判定を丸ごとサブルーチンにしておけば、あとでスマホのタッチ処理に切り替えるのも楽かな。
カーソルキーが押されたかを調べるには、stick命令を使う。
今回は、押しっぱなしにしていると、一度離して押し直すまで判定してほしくないので、シンプルに stick key だけ。(keyの後ろに連続押しの判定をしたいキーのビットを足した10進数を書くと設定できる)
カーソルキーの左右で、救助隊を動かす。
#include "hsp3dish.as" title "FIRE" celload "fire_bg.png",1 celload "fire_player.png",2 dim ppos,3 ;プレイヤーの表示座標 ppos(0)=196:ppos(1)=258:ppos(2)=323 px=0;プレイヤーの位置(0~2) *main redraw 0 pos 0,0 celput 1;筐体表示 gosub *playermove;プレイヤーの移動 redraw 1 await 1000/60 goto *main *playermove ;キーボード操作の判定 stick key if key&1 : px=px-1;カーソル左 if key&4 : px=px+1;カーソル右 ;プレイヤー位置の調整 if px<0 : px=0 if px>2 : px=2 ;プレイヤーを表示する pos ppos(px),207 gmode 2:celput 2;透過PNGを表示するモードに変えて return
そうして動いたのがこれ。
youtu.be
Windows上で動くプログラムがこんなに簡単に作れるのか。
感覚は、まさにBASICと同じ。これは肌に合いそうな言語だ。