周知の事実でしたらすみません。
「HSP3プログラミングマニュアル」の「割り込み」のところを読む限り、
キーやマウス入力による割り込みはwaitやawait命令で停止している時のみ受け付ける
とあるのですが、
どうやら screen 命令の直後に割り込みの隙があるようなのです。
下のような実験用のスクリプトを組んでみました。
*start screen 0,200,100 : color 0,0,0 button gosub "A",*B screen 1,200,100 : color 0,0,0 repeat screen 1,200,100 color 0,0,0 mes "w" await 1 loop *B gsel 0,0 return
ウィンドウが2つ作られます。「A」と書かれたボタンを連打してみてください。そのボタンの
あるウィンドウに「w」が描画されることがあると思います。
もし waitやawait命令で停止している時のみ割り込めるのであれば、ID0のウィンドウの
「A」ボタンをクリックしてもID0のウィンドウには「w」が現れないはずだと思うのですが、
実際に実行してみると私の環境では「w」が現れてしまいます。
私の使っているHSPのバージョンは 3.3 と 3.31RC1 で、どちらでも同じ結果でした。
OSはWindows XP と Windows7 で、どちらでやっても同じ結果でした。
screen 命令の直後には割り込みの隙があるということなのでしょうか?
何かご存知の方がいらっしゃいましたら、教えてください。