ELSEIF命令やENDIF命令の桁下げの位置はIF命令と同じ位置にした方が
どのIF命令と組みになっているか見やすくなると思います。
IF~THEN
処理
ELSEIF ~ THEN
処理
ENDIF
1そうだね プレイ済み
SP同士の当たり判定を有効にするのにSPCOL命令を使っていますよね?
この命令にはマスクという引数があってこの数値を変更することによって
スプライトとの当たり判定を行うかどうかを指定できます。
ヘルプに詳しく描いてありますがこの数値を0にすると対象のスプライトと
他のスプライトの衝突判定は行われなくなります。
0そうだね プレイ済み
>変数XB,YBの値を制限するようにIF命令を追加して下さい。
BGのオフセット量を指定している変数はBX,BYですね。
変数名を間違えて投稿してしまいました。
変数BX,BYの値を制限するようにして下さい。
28~29行目で下限を指定しているので同じ要領で上限も指定して下さい。
0そうだね プレイ済み
プログラムの中を見てみましたがBGのオフセット量の上限が指定されて
いないためBGCORDE命令で座標変換をした結果がBGを置ける範囲を
超えた場合にOut of rangeになります。
変数XB,YBの値を制限するようにIF命令を追加して下さい。
153~156行目ですがXB,YBの値によってはエラーになります。
どういう意図でこの処理をしていますか?
0そうだね プレイ済み
BGPUT命令で指定できる範囲外の数値が指定されているために
エラーが発生しています。
エラーが発生しない数値になるようにプログラムを修正して下さい。
1そうだね プレイ済み
IF 上ボタンを検知 THEN
IF A==42 THEN A=0
ELSE
IF A>=33 && A<42 THEN A=42 ELSE A=A+10
ENDIF
ボタンの入力を機能ID2で行うんだったらこれで出来ると思いますが
果たして質問者の要望に沿っているかどうかちょっと分かりません。
0そうだね プレイ済み
追加
Aが34~42の時に上ボタンを押した場合はどうするつもりですか?
0そうだね プレイ済み
言葉通りの処理をさせるのなら
IF 上ボタンを検知 THEN
IF A==33 THEN A=42 ELSE A=A+10
ENDIF
ってなるけどこれrでいいの?
0そうだね プレイ済み
ボタンによる加算を行った後にIF命令で変数の値が42を越えた場合は
42を代入する処理を追加すれば出来ますよ。
4そうだね プレイ済み
DISPLAY 0でSPSETしたスプライトとDISPLAY 1でSPSETしたスプライトは
管理番号が同じでも別物です。
SPSETをする時のDISPLAYの設定を確認してみて下さい。
1そうだね プレイ済み
LIST [スロット番号:]@ラベル名で指定スロットの編集画面のラベル行に
カーソルを移動して欲しいです。
ユーザー定義命令は編集画面の検索機能で「DEF ユーザー命令」と
すれば処理先が見つかりますが
ラベルの場合は検索機能で@ラベル名としてもGOTO/GOSUB命令で記述
されたラベル名も対象になるので処理先がすぐに見つけられません。
LIST命令の機能を増やすのが難しければLABEL @ラベル名という表記でも
ラベルと認識するようにするでも構いません。
3そうだね プレイ済み