返事を書こうと思ったら、おちゃめさんが詳しく書いてくれているので僕の方は割愛します〜。
ちょっと追加で、もしWAITと比べて、
REPEAT:VSYNC:UNTIL SPCHK(管理番号) AND #CHKI
が長くて不便、という感じだった場合は、
DEF WTCHK N
REPEAT:VSYNC:UNTIL SPCHK(N) AND #CHKI
END
のようなユーザー定義命令を作れば必要な時に、
WTCHK 0
と書けば良いだけになるので便利ですよ。
こういう事も含めて色々覚えていくと自分の力になるとも思うので、怖がらずに色々と試しながら自分のやり方をみつけていければいいなと思います。
例えばアニメーションが終わるまでウエイトなら
REPEAT:VSYNC:UNTIL SPCHK(管理番号) AND #CHKI
みたいな感じですね。ただループとかしていると終わることが無いので、そこは注意って感じです。
コマンドスキップの場合、例えば
IF BUTTON(2)==#A && (SPCHK(0) AND #CHKI)==0 THEN
'Aボタンが押されて管理番号0のアニメーション中でないなら実行
ENDIF
みたいな感じです。あくまで一例ですけどね…。