プレイ日記
ボタンを押したらスプライトを変更するというものを作りたいんですが、 ACLS SPSET0.000 SPOFOS O,128,64 B==BUTTUN IF B AND #A THEM SPSET0,001 STICX OUT DX,DY X=X+DX Y=Y-DY SPOFS 0,X,Y では移動したら一番右上にでてしまいます。 どうすればいいでしょうか。
1そうだね
プレイ済み
返信[1]
親投稿
SPSETをSPCHRに変えればうまくいくと思います。
0そうだね
プレイ済み
返信[2]
親投稿
そひ ladixsofiya
仮にスティックが壊れてるにしても 右上はちょっと考えにくいかなー。 もし左上なら XとYが0だから。⇒ SPOFS 0,X,Y ただの書き間違いと思うけど 一応 エラー吐く場所。 SPOFOS B==BUTTUN ↑B=BUTTONとしても BUTTON()ではないので  ループを入れてもIFで入力判定しない。
1そうだね
プレイ済み
返信[3]
親投稿
そひ ladixsofiya
STICXもだね。
1そうだね
プレイ済み
返信[4]
親投稿
TERA(LL) tera0413
「移動したら一番右上」でなく、「ボタンを押したら一番左上」の書き間違いと思われ。 SPSETする度、そのSPの位置が初期化されてしまうため、IF B AND #A…の行にあるSPSETをSPCHRに変更すれば、位置はそのままで、キャラは変えられるかと。
1そうだね
プレイ済み
返信[5]
親投稿
そひ ladixsofiya
THEMもあった。 もし 何故にSETじゃダメなんだ な~んて思う事があったら Aボタン入力処理の後と SPOFS 0,X,Y の後にウェイト1を突っ込んでみましょう。(ループ入ってるの前提) その上でCHRに直してみると 違いが良く解ると思われます。
1そうだね
プレイ済み
返信[6]
親投稿
TERA(LL) tera0413
実際(ループを補完して)打ち込んでみたら、SPSETでも全然問題ありませんでした。 思い込みでコメントして申し訳ございません。 ・・・となると、「移動したら一番右上に」が、謎現象。
1そうだね
プレイ済み
返信[7]
親投稿
(ツッコミどころが多すぎて何を言えばいいのか分からない案件だ)
5そうだね
プレイ済み