0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

5.マップ作製

タイル(画像)情報からマップを作成し、画面に表示する手順をまとめていきます。

・目次
1.GBMBダウンロード&配置
2.GBMBを使用してマップ作成
3.マップを表示
 P1.タイル、マップファイルについて





1.GBMBダウンロード
 以下の記事を参考にしました!
 配置場所は任意




2.GBMBを使用してマップ作成

GBMB.EXEを起動し、基本操作を確認してみる

メニュー
└File
 └Open・・・一度作成済みの".gbm"ファイルを開く
 └Save・・・保存(マップ加工情報)
 └Save As・・・新規ファイルで保存(マップ加工情報)
 └Reopen・・・一度作成済みの".gbm"ファイルを開く(開きなおし)
 └Map properties・・・タイルを読み込み、マップを作成
 └Location properties・・・属性設定(別記事にてまとめ予定
 └Default Location properties・・・???
 └Export・・・GBに表示する用のソースファイルを出力
 └Export to・・・新規でソースファイル出力
 └Exit・・・アプリ終了

└Edit
 └Undo・・・直前操作を取り消す
 └Cut・・・タイルをコピー、ペーストできる
 └Copy・・・同上
 └Paste・・・同上
 └Copy as bitmap・・・不明(今度調べる)

└Design
 └Pen・・・ペン(線画)
 └Flood fill・・・バケツ(塗りつぶし)
 └Dropper・・・スポイト
 └Insert row・・・列追加
 └Insert column・・・行追加
 └Delete row・・・列削除
 └Delete column・・・行削除
 └Clear map・・・クリアする
 └Block fill・・・上下左右を指定してタイルを置ける

└View
 └Zoom・・・拡大縮小
 └Info panel・・・画面下にセル番地と属性を確認できる
 └Grid・・・ます目非表示
 └Double markers・・・ますの境界線を強調
 └Property Color・・・???
 └Auto update・・・アップデート??(ファイル更新されたら反映??)
 └Color set・・・色変更(プリセット)
 └Set bookmark・・・ショートカットをカスタマイズ??
 └Goto bookmark・・・ショートカットをカスタマイズ??

└Help・・・ヘルプ(開けない)

Map properties 時の設定内容

Size・・・マップのサイズを指定

image.png

Export to時の設定内容

Filename・・・ファイル名(ラベル名と同一のほうが分かりやすい)
Type・・・ファイルタイプ(拡張子) GBDK C FileでOK
Label・・・プログラム内で使用する関数名的なもの

image.png

Plane count・・・1 plane(8bit)を指定(理由は今度調べる)
Plane order・・・Planes are continuesを指定(理由は今度調べる)

image.png




3.マップを表示
以下のコードを"main.c"に記載しマップを表示させる

main.c
#include <gb/gb.h> 
#include <stdint.h>  //ライブラリ参照
#include "map.h"

// タイル単位のmapの位置
uint8_t map_pos_x, map_pos_y;

void main(){
    DISPLAY_OFF; //画面停止
    	SHOW_BKG; //背景の表示ON
		
    	set_bkg_data(0, 241u,Taile); //タイルを背景にセット

    	map_pos_x = map_pos_y = 0; 
		
		//サブマップ32×32 マスを越えるタイルマップを設定できる。
    	set_bkg_submap(map_pos_x, map_pos_y, 20, 18, Map, MapWidth);//初期表示位置
	
    DISPLAY_ON; //画面更新

◇解説

#include
#include //ライブラリ参照
#include "map.h"
→GBMBで作成したマップのソースファイル(map.h)を記載

uint8_t map_pos_x, map_pos_y;
→変数定義

DISPLAY_OFF;
→画面を停止

SHOW_BKG;
→背景の表示ON

set_bkg_data(0, 241u,Taile);
→タイルを背景にセット

map_pos_x = map_pos_y = 0;
→初期値代入

set_bkg_submap(map_pos_x, map_pos_y, 20, 18, Map, MapWidth);//初期表示位置
→submap関数で32×32 マスを越えるタイルマップを設定

DISPLAY_ON;
→画面更新

コンパイル結果(large_mapサンプルの背景を変更できました!)
image.png




P1.タイル、マップファイルについて

GBTD、GBMBを使用してタイル、マップを出力する場合、
タイル名、マップ名に【const】(定数宣言)が記載されないため、手動にて【const】を記載する。

image.png




以上!
次回はランダムエンカウントを実装し、バトルシーンに遷移しよう!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?