投稿
じぶんではどうにもできないもんだいにぶつかったのでしつもんします。 スプライトが左右に動きながら選択肢を操作するというプログラムを組みたいのですが、全然出来ません! 写真のように、SPOFS命令の間にWAITをいれると、動きは問題ないのですが、選択肢の反応が悪くなってしまいます。 どうすれば選択肢もスムーズにして、スプライトをうごかせるでしょうか?
0そうだね
プレイ済み
返信[1]
親投稿
say sayer.exe
カウンタを使いましょうか ウェイトを消せば、反応はご存知の通り良くなります でも、今度はスプライトが動きたおします なれば、ウエイトの代わりにカウンタを入れてスプライトの動きを抑制しましょう 例えば10回ループに付き1回動かしたいとします ループの中のどこかにカウンタを入れます CNT=CNT+1 んで、カウンタが10回(以上)になったらスプライトの位置を入れ替えます IF CNT>10 THEN SPOFS 0,200,100 ELSE SPOFS 0,250,100 しかし、これではいつまで経ってもカウンタは増えっぱなしなので、リセットしましょう IF CNT>20 THEN CNT=0
0そうだね
プレイ済み
返信[2]
親投稿
ループ内ではvsyncを入れると、動作が安定しますよー。
0そうだね
プレイ済み
返信[3]
親投稿
TERA(LL) tera0413
BASICなんで、解決方法は、いくらでもありますが、スプライトの動きは、ただ、左右に振ってるだけみたいなので、SPANIMで勝手に動かしておくのが楽ですよ。
0そうだね
プレイ済み
返信[4]
親投稿
say sayer.exe
ちなみに、ループの回数は10回とは限りません(試してみたら10000回ぐらいでだいたい視認できました) また、この考え方の場合、リセット時のカウント数はループ数の倍となってます
0そうだね
プレイ済み
返信[5]
親投稿
say sayer.exe
TERAさん ずいぶん楽な解決方法があったんですね
0そうだね
プレイ済み
返信[6]
親投稿
みなさんたくさんの解決方法ありがとうございました! とりあえずじっさいのプログラムにいれてみたところ、カウンターの使い勝手が良かったので、採用することにしました。
0そうだね
プレイ済み