投稿
うらみの uraminoNew
軽く時間ができたので、RPG制作にむけて、BG面のお勉強ターイム。
3そうだね
プレイ済み
返信[1]
親投稿
うらみの uraminoNew
とりあえずテスト用マップ作り。右下の「rot」でマップチップを回すのと、 0番を最初に押しておいて、海の部分からかきはじめるのがポインツ。
1そうだね
プレイ済み
返信[2]
親投稿
うらみの uraminoNew
とりまこんな感じ。さて、ここからどうすればいいのか…
0そうだね
プレイ済み
返信[3]
親投稿
うらみの uraminoNew
通常のセーブはDAT保存…ふむ。
0そうだね
プレイ済み
返信[4]
親投稿
うらみの uraminoNew
BGスクリーンセーブもDAT型、と。なるほど、わからん。
0そうだね
プレイ済み
返信[5]
親投稿
BGスクリーンセーブはBGのレイヤーひとつが1ファイルになる形式で合計4回出力されるはずですよ。 BGスクリーンセーブで書きだしたBGは LOAD "DAT:ファイル名", 数値配列 で配列に読み込んでから、 BGLOAD レイヤー, 数値配列 の形で簡単に読み込む事が出来ますが、BG4面使ってる場合は4枚とも読み込まないといけないのとBG4面使ってる場合は合計した場合、ファイルサイズが約2倍になっちゃうはずです。
0そうだね
プレイ済み
返信[6]
親投稿
うらみの uraminoNew
とにもかくにも保存はしたので、まずは通常セーブを試しに読み出してみる。
0そうだね
プレイ済み
返信[7]
親投稿
うらみの uraminoNew
と、おおう、お詳しそうな方が! なるほど…一回数値配列に入れるのか…
0そうだね
プレイ済み
返信[8]
親投稿
そうそう。レイヤータイプのセーブファイルを読み込むときは、BGLOADする前にBGSCREEN命令でBGのサイズを変更するのを忘れないでくださいね。 公式マップエディタの画面サイズは64×64固定なので、BGSCREENで各レイヤーのBGサイズも同じように合わせておく必要がありますのでー。
0そうだね
プレイ済み
返信[9]
親投稿
うらみの uraminoNew
ちょうどそこで困ってました!ありがとです! 通常セーブ版の使い方まで確認したら寝よう…
0そうだね
プレイ済み
返信[10]
親投稿
うらみの uraminoNew
これでBGスクリーンデータは完璧かな?と思いきや。
0そうだね
プレイ済み
返信[11]
親投稿
うらみの uraminoNew
こうなった罠。これは多分BGSCREENを全レイヤでしてないからか
0そうだね
プレイ済み
返信[12]
親投稿
通常セーブ版は読み込むのに専用のプログラムが必要になりますよ。 方法はいくつかありますが、シンプルなのを一つだけ参考用にあげておきますね。 頑張ってくださいー。
0そうだね
プレイ済み
返信[13]
親投稿
うらみの uraminoNew
とりあえず今日の成果物。ねむねむ。でんぺんさんありがとう!
0そうだね
プレイ済み
返信[14]
親投稿
お疲れさまでした〜。 出来たコードにちょっとだけアドバイスをすると、レイヤー0〜3の処理は似たような処理になるのでFORをうまく使うと省略して書けますよ。 あとDIMでBGのサイズを指定してますが、実際はもうちょっと大きいサイズを使うので、実はLOADで自動的に配列のサイズが拡張されてるんでうまく動いてます。なので正確に書くなら、DIM BG[64*64]もしくは自動拡張をアテにしてDIM BG[0]としちゃう手もあります。(僕のサンプルではそうしてます) あとは最後のVSYNCはなくても大丈夫ですよ。というかVSYNCはメインループの中で入れる方がいいので、このプログラムの場合は明確なメインループがないというか、あるとしたら5行目と6行目の間ぐらいですね。まあでもそんなに気にすることもないかなぁ…。 とはいえ正常な動作をしているのが一番なので良いと思いますよ!
0そうだね
プレイ済み