トピック

DATAを読み込みを失敗しマしタ

DATA命令でマップを作りたいのですが、 全く分かりません。 何方か教えてくれないでしょうか。
0そうだね
未プレイ
返信[1]
親投稿
ΖΕΧ ZEX256
DATA文はプログラム中に沢山データを記述する場合に使用します。 DATA 97,100,97,97,100,101,0 DATA文自体は何も処理をしません、DATA文の基本的な使い方は、変数に読み出して使います。 DATA文に記載されたデータを読みだすのがREAD命令です。 READ NO ? NO これで先頭のデータが変数 NO に読み出され、それを表示しています。
0そうだね
プレイ済み
返信[2]
親投稿
ΖΕΧ ZEX256
READ命令を連続で行えば、DATA文の続きを読み出せます。 READ NO:? NO READ NO:? NO READ NO:? NO READ NO:? NO 毎回こんな記述をしたのではDATA文にした意味が無いので、ループ処理の中で読み出します。 FOR I=0 TO 6 READ NO ? NO NEXT この場合FOR文で7回ループして読み込んでいます。 もし、8回読み込んでしまうとエラーになります。
0そうだね
プレイ済み
返信[3]
親投稿
ΖΕΧ ZEX256
DATAの最後まで読み込み、その後、更に読み出そうとすると、データが無いためエラーになるのです。 データの数が予め決まっているのなら、これでも良いでしょう。 ですが、DATA文に書くデータは大抵、不特定多数です、有れば有っただけ読み出して使いたい。 そこでDATA文に記述するデータの最後に、「ここでデータの終わりだよ」とする印しとして、 たとえば-1を書いておきます。 DATA 97,100,97,97,100,101,0,-1 無限ループで読み出しして、読みだしたデータが-1なら、ループを抜ければ良いのです。 WHILE 1 READ NO IF NO < 0 THEN BREAK '変数 NOがマイナス値ならループを抜ける ? NO WEND
0そうだね
プレイ済み
返信[4]
親投稿
ΖΕΧ ZEX256
この例では、読み出したデータをそのまま文字で表示しました。 BG画面に地面を表示したいならばBGPUT命令を使います。 L=0:X=12:Y=8:NO=100 BGPUT L,X,Y,NO '←画面中央に林のBGキャラを表示 データを読み込んでBGに表示 DATA 97,100,97,97,100,101,0,-1 L=0:X=0:Y=0 WHILE 1 READ NO IF NO < 0 THEN BREAK BGPUT L,X,Y,NO '←読み出したNOのBGキャラを表示 X=X+1 '次のBGの表示位置を1つ右にずらしている WEND
0そうだね
プレイ済み
返信[5]
親投稿
ΖΕΧ ZEX256
この例では、BGを横一行しか表示していません。 縦方向にもBGを敷き詰めたいなら、DATA文に「ここで1行の終わりだよ」とする印しとして、例えば 0 を書いておきます。 DATA 97,100, 97, 97, 99, 99,0 DATA 100,100,100, 97, 97, 97,0 DATA 101,101,101,100,100, 97,-1 読み込んだデータが 0の場合、1行下に移動し、更に左端に移動して、続きのBGキャラを表示すれば良いのです。 L=0:X=0:Y=0 WHILE 1 READ NO IF NO < 0 THEN BREAK IF NO ==0 THEN Y=Y+1:X=0 '←Y軸を一つ下に移動し、X軸を左端に移動している BGPUT L,X,Y,NO X=X+1 WEND
0そうだね
プレイ済み
返信[6]
親投稿
ΖΕΧ ZEX256
これでフィールドマップを表示できるようになりました。 あと、DATAの読み出し位置をRESTORE命令で、変更できます。 RESTOREと入力し画面右上の[?]を押すと説明が表示されるので読んで下さい。 文字でMAPを書くサンプルです、参考になれば。 DATA_MAP【DADAXZ3】
0そうだね
プレイ済み
返信[7]
親投稿
ΖΕΧ ZEX256
こんな画面です。
0そうだね
プレイ済み
返信[8]
親投稿
なが文ありがとうございます。 そういう使い方でしたか。やはり便利ですね。 教えてくださりありがとうございました。
0そうだね
未プレイ
返信[9]
親投稿
まさかサンプルプログラムまで用意してくれるとは。 本当に感謝です。 これで念願のRPGが作れます。 戦闘シーンやタイトルなどはできたのにマップはつくっていなかったのでとても嬉しいです。
0そうだね
未プレイ
返信[10]
親投稿
ΖΕΧ ZEX256
スマイルブームの小林さんによるマップデータを表示する方法 https://miiverse.nintendo.net/posts/AYMHAAACAAADVHjKwa7t4g でんぺんさん、マップツール活用委員会 https://miiverse.nintendo.net/posts/AYMHAAACAAADVHk04rsiRg 解説つきサンプル講座 キャラクターの移動やジャンプ https://miiverse.nintendo.net/posts/AYIHAAAEAADaVHhje1QgdA 第二回解説つきサンプル講座 サイドビューのジャンプとBGとの判定 https://miiverse.nintendo.net/posts/AYIHAAAEAAA5VHwZFPOzCA
1そうだね
プレイ済み