RPGツクール2000/システム【サイトトップへ戻る】
■3Dダンジョンを作る
(更新:2020/07/05)


擬似3Dのダンジョンを作成します。



ショートカット
■処理内容の確認
■画像の準備
■イベントを設定する前の準備
■ピクチャーの使い方
■スイッチ・変数
■準備イベントの設定
■キー操作の設定
■壁の表示の設定
■重なった時に実行するイベントについて
■エンカウントについて
■補足

擬似3Dに関する基礎説明は、別のページにて紹介しています。
【擬似3Dの基礎説明を見る】

動作見本用のサンプルデータ
サンプルのダウンロードは↓をクリックしてください。
サンプルのイベント設定状況を見る場合は、
ツクールの作品データが入っているフォルダを開いて、
その中にサンプルの作品データを入れてください。
【ツクールのフォルダの開き方を見る】
このサンプルデータのイベント設定をコピー&貼り付けして、
制作中の作品に使用する場合は、
イベントの処理構造を理解した上自己責任でご利用ください。

動作確認用のサンプル内では正常に動いていたイベントが、
制作中の作品にコピー&貼り付けしたら正常に動かなくなった場合は、
明らかにコピー&貼り付けの作業に問題があった事になります。


  
■処理内容の確認

歩けるマスと歩けないマスの設定は、通常のマップ作成と同じように作ります。

移動処理は、マップ上に主人公を置き、キャラクターの動作指定で主人公を動かして移動します。

壁を表示する処理は、主人公の前方のマスの地形IDを読み取って判断します。
地形ID1番=歩けるマス
地形ID2番=歩けないマス(壁のマス)




壁の表示は、複数のピクチャーを重ねて表示します。

▼こんな感じに重ねて表示(実際のゲーム画面では瞬間的に重なります)


なお、移動ごとにピクチャの表示を使って壁を表示すると処理落ちが発生するので、
最初の1回だけピクチャの表示を実行して壁を表示し、
移動時の壁の表示はピクチャの移動で透明度を「0%」「100%」に切り替えて表示します。


▲トップへ戻る▲


  
■画像の準備

必要な画像は床の画像壁の画像です。
壁の画像は1マスずつ分けた物を用意してください。

床画像 壁の画像



必要な壁の画像は、以下の白色のマスです。

 
5列目          
4列目          
3列目          
2列目          
1列目          
0列目        

【床と壁の画像をまとめてダウンロード】

ダウンロードした画像は、加工を含め、自由に使用してください。
なお、他のページにある階段や扉の画像をまとめて欲しい場合は、
動作確認用のサンプルデータにあるフォルダから取得してください。

ダウンロードした画像の壁のファイル名は、上記の表を参考に付けられています。
例えば、主人公の目の前の壁のファイル名は「1列 3.png」になります。

ファイル名の頭の「P22」は使用するピクチャー番号を示しています。



床の画像壁の画像は、素材管理ピクチャー(Picture)にインポートしてください。


▲トップへ戻る▲


  
■イベントを設定する前の準備

マップの作成などを行います。



まずデータベース「地形」の画面を開き…
地形ID[0001]=歩けるマス
地形ID[0002]=歩けないマス(壁)

を設定してください。

※名前だけを設定して、他の設定は不要です。





データベース「チップセット」の画面を開き、下層チップの地形番号を設定してください。

赤丸を付けたチップを「壁(地形ID「2」)」と設定




地形ID「2」を設定した下層チップの通行設定・ブロックの設定を[×]にしてください。





3Dダンジョン用のマップを作成します。



マップのサイズ、マップのループ設定、道の作成は、自由に行ってください。

ループ設定が無い場合は、マップの端のマスは「壁」にしてください。



マップが完成したら、歩けるマスのどこかにパーティーの初期位置を設定してください。





マップの左上などの分かりやすい所にマップイベント「準備イベント」を設定し、
コモンイベントに「キー操作」「壁の表示」を設定してください。

※イベント内の設定は後で行うので、先に名前だけを設定しておいてください。




以上で準備完了です。


▲トップへ戻る▲


  
■ピクチャーの使い方

床や壁の画像は、ピクチャーを使って表示します。

ピクチャーにはピクチャー番号が大きいほど上に表示される仕様があるため、
疑似3Dで最も下になる床の画像ピクチャー1番で表示します。

そして壁の画像は主人公から遠い奥の壁から順に表示します。



以下の赤い数字は、そのマスに表示する壁のピクチャー番号を示しています。

 
5列目   2 6 3  
4列目 4 7 11 8 5
3列目 9 12 16 13 10
2列目 14 17 19 18 15
1列目   20 21 21  
0列目   23 24  


▲トップへ戻る▲


  
■スイッチ・変数

スイッチと変数の番号使用内容の一覧表です。

スイッチ
番号 名前 使用内容
0001 システム起動 ダンジョンの移動するイベントシステムを起動します。
0002 前進可能 前進が可能な時にはONになります。
0003 後進可能 後進が可能な時にはONになります。
0004 イベント呼出:画像 どの画像を表示するのかを調べる時に使います。
0005 イベント呼出:触れた 目の前のイベントに触れて実行する時に使います。
0006 イベント呼出:決定 目の前のイベントを調べて実行する時に使います。

変数
番号 名前 使用内容
0001 キー入力 押したキーの番号を記憶します。
0002 主人公のX座標 X座標を代入して、地形IDを取得する時に使います。
0003 主人公のY座標 Y座標を代入して、地形IDを取得する時に使います。
0004 1つ前へX座標± 前方のマスに移動する時に加算されるX座標を設定。
0005 1つ前へY座標± 前方のマスに移動する時に加算されるY座標を設定。
0006 1つ左へX座標± 左手のマスに移動する時に加算されるX座標を設定。
0007 1つ左へY座標± 左手のマスに移動する時に加算されるY座標を設定。
0008 地形ID 地形IDの取得に使います。1=壁無し、2=壁有り。
0009 イベントID イベントIDの取得に使います。
0010 1ページ目 「1」を代入しておき、イベントの呼び出しで使います。
0011 目の前のイベントID 主人公の目の前のマスのイベントIDを設定。
0012 後ろのイベントID 主人公の後ろのマスのイベントIDを設定。
0013 画像番号 表示する階段などの画像の番号を設定。
0014 イベントの向き イベントの向きを代入し、階段の方向の判断に使います。
0015 XY位置 移動したかどうかを判断する時に使います。

【スイッチ・変数の一覧表を開く】

イベントを設定する前に上記の番号の通りにスイッチや変数の名前を付けておくと、
イベントの設定がしやすくなるでしょう。

※変数0004〜0007番に関しては、後で詳しく説明します。

※変数0011・0012・0014番は当のページの設定では使いませんが、
 一応変数の名前だけでも先に設定しておいてください。



▲トップへ戻る▲


  
■準備イベントの設定

マップイベント「準備イベント」に、ピクチャーを表示するイベントなどを設定します。

■マップイベント「準備イベント」

▼1ページ目

イベント開始条件:自動的に始まる

◆条件分岐:スイッチ[0004:イベント呼出:画像]がON
 ◆変数の操作:[0013:画像番号]代入,0
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:スイッチ[0005:イベント呼出:触れた]がON
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:スイッチ[0006:イベント呼出:決定]がON
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0010:1ページ目]代入,1
◆ピクチャーの表示:1,P01 床,(160,120)(透明度:0%)
◆ピクチャーの表示:2,P02 5列 2,(160,120)(透明度:100%)
◆ピクチャーの表示:3,P03 5列 4,(160,120)(透明度:100%)
◆ピクチャーの表示:4,P04 4列 1,(160,120)(透明度:100%)
◆ピクチャーの表示:5,P05 4列 5,(160,120)(透明度:100%)
◆ピクチャーの表示:6,P06 5列 3,(160,120)(透明度:100%)
◆ピクチャーの表示:7,P07 4列 2,(160,120)(透明度:100%)
◆ピクチャーの表示:8,P08 4列 4,(160,120)(透明度:100%)
◆ピクチャーの表示:9,P09 3列 1,(160,120)(透明度:100%)
◆ピクチャーの表示:10,P10 3列 5,(160,120)(透明度:100%)
◆ピクチャーの表示:11,P11 4列 3,(160,120)(透明度:100%)
◆ピクチャーの表示:12,P12 3列 2,(160,120)(透明度:100%)
◆ピクチャーの表示:13,P13 3列 4,(160,120)(透明度:100%)
◆ピクチャーの表示:14,P14 2列 1,(160,120)(透明度:100%)
◆ピクチャーの表示:15,P15 2列 5,(160,120)(透明度:100%)
◆ピクチャーの表示:16,P16 3列 3,(160,120)(透明度:100%)
◆ピクチャーの表示:17,P17 2列 2,(160,120)(透明度:100%)
◆ピクチャーの表示:18,P18 2列 4,(160,120)(透明度:100%)
◆ピクチャーの表示:19,P19 2列 3,(160,120)(透明度:100%)
◆ピクチャーの表示:20,P20 1列 2,(160,120)(透明度:100%)
◆ピクチャーの表示:21,P21 1列 4,(160,120)(透明度:100%)
◆ピクチャーの表示:22,P22 1列 3,(160,120)(透明度:100%)
◆ピクチャーの表示:23,P23 0列 2,(160,120)(透明度:100%)
◆ピクチャーの表示:24,P24 0列 4,(160,120)(透明度:100%)
◆イベントの呼び出し:壁の表示<イベントを呼び出し、最初の背景を表示する
◆ウェイト:0.0秒
◆画面の表示:フェードイン
◆スイッチの処理:[0001:システム起動]をONにする




▼2ページ目

イベント出現条件:スイッチ[0001:システム起動]がON
イベント開始条件:決定キーが押されたとき

イベント実行内容の設定は不要です。



全てのマップイベントの最初には…
◆条件分岐:スイッチ[0004:イベント呼出:画像]がON
 ◆変数の操作:[0013:画像番号]代入,0
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:スイッチ[0005:イベント呼出:触れた]がON
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:スイッチ[0006:イベント呼出:決定]がON
 ◆イベント処理の中断
 ◆
:分岐終了
の設定を行ってください。

この設定は階段や扉のマップイベントでは、設定内容が変わります。


▲トップへ戻る▲


  
■キー操作の設定

コモンイベント「キー操作」の設定を行います。
このイベントを設定する事で主人公の移動が可能になります。

変数[0015:XY位置]は主人公が移動したかどうかを判断する時に使います。
この処理の解説は、歩くと実行するイベントのページにあります。
【歩くと実行するイベントのページを開く】

キャラクターの動作指定の「移動できない場合は無視」にはチェックを付けてください。

■コモンイベント「キー操作」

イベント開始条件:自動的に始まる
出現条件スイッチ:[0001:システム起動]

◆変数の操作:[0015:XY位置]代入,主人公のX座標
◆変数の操作:[0015:XY位置]乗算,1000
◆変数の操作:[0015:XY位置]加算,主人公のY座標
◆キー入力の処理:[0001:キー入力](上・下・左・右・取消/オプション:ON)
◆条件分岐:変数[0001:キー入力]が6<取消キーが押された時
 ◆メニュー画面の呼び出し
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:変数[0001:キー入力]が4<上キーが押された時
 ◆条件分岐:スイッチ[0002:前進可能]がON<前進可能な時
  ◆キャラクターの動作指定:主人公,一歩前進
  ◆効果音の演奏:カーソル1
  ◆指定動作の全実行
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0001:キー入力]が1<下キーが押された時
 ◆条件分岐:スイッチ[0003:後進可能]がON<後進可能な時
  ◆キャラクターの動作指定:主人公,180度方向転換,一歩前進,180度方向転換
  ◆効果音の演奏:カーソル1
  ◆指定動作の全実行
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0001:キー入力]が2<左キーが押された時
 ◆キャラクターの動作指定:主人公,左に90度回転
 ◆効果音の演奏:カーソル1
 ◆指定動作の全実行
 ◆
:分岐終了
◆条件分岐:変数[0001:キー入力]が3<右キーが押された時
 ◆キャラクターの動作指定:主人公,右に90度回転
 ◆効果音の演奏:カーソル1
 ◆指定動作の全実行
 ◆
:分岐終了
◆イベントの呼び出し:壁の表示<移動後(回転後)の現在の壁の状態を表示
◆注釈:-----------------------------------------------------------
:  :マップイベントと重なっているかどうかをチェック
:  : 

◆変数の操作:[0002:主人公のX座標]代入,主人公のX座標
◆変数の操作:[0003:主人公のY座標]代入,主人公のY座標
◆指定位置のイベントID取得:(V[0002],V[0003]),[0009:イベントID]
◆変数の操作:[0002:主人公のX座標]乗算,1000
◆変数の操作:[0002:主人公のX座標]加算,主人公のY座標
◆条件分岐:変数[0015:XY位置]がV[0002]以外<移動した時
 ◆変数の操作:[0015:XY位置]代入,変数[0002]の値
 ◆条件分岐:変数[0009:イベントID]が1以上
  ◆イベントの呼び出し:V[9][V[10]]
  ◆
 :分岐終了
 ◆
:分岐終了


▲トップへ戻る▲


  
■壁の表示の設定

コモンイベント「壁の表示」の設定を行います。

壁の表示は、変数に記憶した主人公の現在位置(X座標、Y座標)を使って、
主人公の前方のマスの地形IDを読み取って、壁を表示します。



壁を調べる時にX座標、Y座標を記憶した変数の値を
前方の座標へと移動させる処理が必要になりますが、
この変数の値の操作には、以下の4つの変数を使います。
変数[0004:1つ前へX座標±]
変数[0005:1つ前へY座標±]
変数[0006:1つ左へX座標±]
変数[0007:1つ左へY座標±]


この4つの変数には、主人公の向きに合わせて、
「-1」「0」「1」のいずれかの値を設定します。

変数 上向き 下向き 左向き 右向き
0004:1つ前へX座標± 0 0 -1 1
0005:1つ前へY座標± -1 1 0 0
0006:1つ左へX座標± -1 1 0 0
0007:1つ左へY座標± 0 0 1 -1

このように設定する事で、例えば主人公の1つ前のマスに変数の座標を変えたい時には…
◆変数の操作:[0002:主人公のX座標]加算,変数[0004]の値
◆変数の操作:[0003:主人公のY座標]加算,変数[0005]の値
と設定すれば、
主人公が上向きならばY座標が1減り、
主人公が右向きならばX座標が1増える設定になります。



壁があるかどうかを調べる順番は以下のとおりです。

 
5列目   23 22 21  
4列目 16 17 18 19 20
3列目 15 14 13 12 11
2列目 6 7 8 9 10
1列目   5 4 3  
0列目   1 2  



1つの壁を表示するイベントコマンドの設定が終わりましたら、
そのイベントコマンドをコピーして、次の壁を表示する設定に生かせば、
短時間でイベントコマンドの設定を終える事ができるでしょう。

貼り付けた後は、変数の操作の設定変更やピクチャーの番号変更を忘れずに!

※「1列目:3の壁」にはスイッチの設定が入りますので、注意して設定してください。



■コモンイベント「壁の表示」

イベント開始条件:呼び出されたときのみ

◆変数の操作:[0002:主人公のX座標]代入,主人公のX座標
◆変数の操作:[0003:主人公のY座標]代入,主人公のY座標
◆変数の操作:[0004〜0007]代入,0
◆条件分岐:主人公が上を向いている
 ◆変数の操作:[0005:1つ前へY座標±]代入,-1
 ◆変数の操作:[0006:1つ左へX座標±]代入,-1
 ◆
:分岐終了
◆条件分岐:主人公が下を向いている
 ◆変数の操作:[0005:1つ前へY座標±]代入,1
 ◆変数の操作:[0006:1つ左へX座標±]代入,1
 ◆
:分岐終了
◆条件分岐:主人公が左を向いている
 ◆変数の操作:[0004:1つ前へX座標±]代入,-1
 ◆変数の操作:[0007:1つ左へY座標±]代入,1
 ◆
:分岐終了
◆条件分岐:主人公が右を向いている
 ◆変数の操作:[0004:1つ前へX座標±]代入,1
 ◆変数の操作:[0007:1つ左へY座標±]代入,-1
 ◆
:分岐終了
◆スイッチの処理:[0002:前進可能]をOFFにする
◆スイッチの処理:[0003:後進可能]をOFFにする
◆注釈:------------------------------------------------------------
:  :後進可能の確認
:  : 

◆変数の操作:[0002:主人公のX座標]減算,変数[0004]の値
◆変数の操作:[0003:主人公のY座標]減算,変数[0005]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1<壁が無い時
 ◆スイッチの処理:[0003:後進可能]をONにする<ONにする事で後進が可能に!
 ◆
:分岐終了
◆変数の操作:[0002:主人公のX座標]代入,主人公のX座標
◆変数の操作:[0003:主人公のY座標]代入,主人公のY座標
◆注釈:------------------------------------------------------------
:  :0列目:2の壁
:  : 

◆変数の操作:[0002:主人公のX座標]加算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]加算,変数[0007]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:23,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:23,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :0列目:4の壁
:  : 

◆変数の操作:[0002:主人公のX座標]減算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]減算,変数[0007]の値
◆変数の操作:[0002:主人公のX座標]減算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]減算,変数[0007]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:24,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:24,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :1列目:4の壁
:  : 

◆変数の操作:[0002:主人公のX座標]加算,変数[0004]の値
◆変数の操作:[0003:主人公のY座標]加算,変数[0005]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:21,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:21,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :1列目:3の壁
:  : 

◆変数の操作:[0002:主人公のX座標]加算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]加算,変数[0007]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:22,(160,120),0.0秒(透明度:100%)
 ◆スイッチの処理:[0002:前進可能]をONにする<ONにする事で前進が可能に!
 ◆
:それ以外の場合
 ◆ピクチャーの移動:22,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :1列目:2の壁
:  : 

◆変数の操作:[0002:主人公のX座標]加算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]加算,変数[0007]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:20,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:20,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :2列目:1の壁
:  : 

◆変数の操作:[0002:主人公のX座標]加算,変数[0004]の値
◆変数の操作:[0003:主人公のY座標]加算,変数[0005]の値
◆変数の操作:[0002:主人公のX座標]加算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]加算,変数[0007]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:14,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:14,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :2列目:2の壁
:  : 

◆変数の操作:[0002:主人公のX座標]減算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]減算,変数[0007]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:17,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:17,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :2列目:3の壁
:  : 

◆変数の操作:[0002:主人公のX座標]減算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]減算,変数[0007]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:19,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:19,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :2列目:4の壁
:  : 

◆変数の操作:[0002:主人公のX座標]減算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]減算,変数[0007]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:18,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:18,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :2列目:5の壁
:  : 

◆変数の操作:[0002:主人公のX座標]減算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]減算,変数[0007]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:15,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:15,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :3列目:5の壁
:  : 

◆変数の操作:[0002:主人公のX座標]加算,変数[0004]の値
◆変数の操作:[0003:主人公のY座標]加算,変数[0005]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:10,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:10,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :3列目:4の壁
:  : 

◆変数の操作:[0002:主人公のX座標]加算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]加算,変数[0007]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:13,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:13,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :3列目:3の壁
:  : 

◆変数の操作:[0002:主人公のX座標]加算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]加算,変数[0007]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:16,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:16,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :3列目:2の壁
:  : 

◆変数の操作:[0002:主人公のX座標]加算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]加算,変数[0007]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:12,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:12,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :3列目:1の壁
:  : 

◆変数の操作:[0002:主人公のX座標]加算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]加算,変数[0007]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:9,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:9,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :4列目:1の壁
:  : 

◆変数の操作:[0002:主人公のX座標]加算,変数[0004]の値
◆変数の操作:[0003:主人公のY座標]加算,変数[0005]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:4,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:4,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :4列目:2の壁
:  : 

◆変数の操作:[0002:主人公のX座標]減算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]減算,変数[0007]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:7,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:7,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :4列目:3の壁
:  : 

◆変数の操作:[0002:主人公のX座標]減算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]減算,変数[0007]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:11,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:11,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :4列目:4の壁
:  : 

◆変数の操作:[0002:主人公のX座標]減算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]減算,変数[0007]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:8,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:8,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :4列目:5の壁
:  : 

◆変数の操作:[0002:主人公のX座標]減算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]減算,変数[0007]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:5,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:5,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :5列目:4の壁
:  : 

◆変数の操作:[0002:主人公のX座標]加算,変数[0004]の値
◆変数の操作:[0003:主人公のY座標]加算,変数[0005]の値
◆変数の操作:[0002:主人公のX座標]加算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]加算,変数[0007]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:3,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:3,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :5列目:3の壁
:  : 

◆変数の操作:[0002:主人公のX座標]加算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]加算,変数[0007]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:6,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:6,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆注釈:------------------------------------------------------------
:  :5列目:2の壁
:  : 

◆変数の操作:[0002:主人公のX座標]加算,変数[0006]の値
◆変数の操作:[0003:主人公のY座標]加算,変数[0007]の値
◆指定位置の地形ID取得:(V[0002],V[0003]),[0008:地形ID]
◆条件分岐:変数[0008:地形ID]が1(オプション:ON)
 ◆ピクチャーの移動:2,(160,120),0.0秒(透明度:100%)
 ◆
:それ以外の場合
 ◆ピクチャーの移動:2,(160,120),0.0秒(透明度:0%)
 ◆
:分岐終了
◆ウェイト:0.0秒<処理落ち防止


以上でイベント設定が完了です。

テストプレーを実行して、実際に動かしてみてください。


▲トップへ戻る▲


  
■重なった時に実行するイベントについて

マップイベントのイベント開始条件で
主人公から触れたとき」や「イベントから触れたとき」を設定した場合、
前進した時には反応しますが、後進した時には反応しません。

そのため、イベント開始条件は「決定キーが押されたとき」にしておき、
以下のように設定してください。

■マップイベント「重なったら実行」

イベント開始条件:決定キーが押されたとき

◆条件分岐:スイッチ[0004:イベント呼出:画像]がON
 ◆変数の操作:[0013:画像番号]代入,0
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:スイッチ[0005:イベント呼出:触れた]がON
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:スイッチ[0006:イベント呼出:決定]がON
 ◆イベント処理の中断
 ◆
:分岐終了
〜重なったら実行するイベントを設定〜




一度だけ実行するイベントを設定する場合は、以下のように設定してください。

■マップイベント「重なったら実行」

イベント開始条件:決定キーが押されたとき

◆条件分岐:スイッチ[0004:イベント呼出:画像]がON
 ◆変数の操作:[0013:画像番号]代入,0
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:スイッチ[0005:イベント呼出:触れた]がON
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:スイッチ[0006:イベント呼出:決定]がON
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:スイッチ[0101:ボス敵を倒した]がON
 ◆イベント処理の中断
 ◆
:分岐終了
◆戦闘の処理:ボス
◆スイッチの操作:[0101:ボス敵を倒した]をONにする

1度しか実行しないイベントは、通常では2ページ目のイベント出現条件をONにすれば、
1ページ目のイベントが実行できなくなりますが、
今回の処理では2ページ目のイベント出現条件をONにしても、
「1ページ目を呼び出す」と言った設定になっているため、1ページが実行してしまいます。

そのため、1ページ目の中にスイッチがONの時には、
イベント処理の中断」が実行する設定を行っています。


▲トップへ戻る▲


  
■エンカウントについて

主人公はキャラクターの動作指定で移動しているため、通常のエンカウントは使用できません。

そのため、エンカウントを実行させるためには、自作のエンカウントを設定する必要があります。
【自作エンカウントのページを開く】



下記は20歩歩くと敵が出現する設定例です。

■マップイベント「準備イベント」

▼1ページ目

イベント開始条件:自動的に始まる

◆条件分岐:スイッチ[0004:イベント呼出:画像]がON
 ◆変数の操作:[0013:画像番号]代入,0
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:スイッチ[0005:イベント呼出:触れた]がON
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:スイッチ[0006:イベント呼出:決定]がON
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0010:1ページ目]代入,1
◆変数の操作:[0016:次の敵の出現歩数]代入,20
◆ピクチャーの表示:1,P01 床,(160,120)(透明度:0%)
◆ピクチャーの表示:2,P02 5列 2,(160,120)(透明度:100%)
◆ピクチャーの表示:3,P03 5列 4,(160,120)(透明度:100%)
◆ピクチャーの表示:4,P04 4列 1,(160,120)(透明度:100%)
◆ピクチャーの表示:5,P05 4列 5,(160,120)(透明度:100%)
◆ピクチャーの表示:6,P06 5列 3,(160,120)(透明度:100%)
◆ピクチャーの表示:7,P07 4列 2,(160,120)(透明度:100%)
◆ピクチャーの表示:8,P08 4列 4,(160,120)(透明度:100%)
◆ピクチャーの表示:9,P09 3列 1,(160,120)(透明度:100%)
◆ピクチャーの表示:10,P10 3列 5,(160,120)(透明度:100%)
◆ピクチャーの表示:11,P11 4列 3,(160,120)(透明度:100%)
◆ピクチャーの表示:12,P12 3列 2,(160,120)(透明度:100%)
◆ピクチャーの表示:13,P13 3列 4,(160,120)(透明度:100%)
◆ピクチャーの表示:14,P14 2列 1,(160,120)(透明度:100%)
◆ピクチャーの表示:15,P15 2列 5,(160,120)(透明度:100%)
◆ピクチャーの表示:16,P16 3列 3,(160,120)(透明度:100%)
◆ピクチャーの表示:17,P17 2列 2,(160,120)(透明度:100%)
◆ピクチャーの表示:18,P18 2列 4,(160,120)(透明度:100%)
◆ピクチャーの表示:19,P19 2列 3,(160,120)(透明度:100%)
◆ピクチャーの表示:20,P20 1列 2,(160,120)(透明度:100%)
◆ピクチャーの表示:21,P21 1列 4,(160,120)(透明度:100%)
◆ピクチャーの表示:22,P22 1列 3,(160,120)(透明度:100%)
◆ピクチャーの表示:23,P23 0列 2,(160,120)(透明度:100%)
◆ピクチャーの表示:24,P24 0列 4,(160,120)(透明度:100%)
◆イベントの呼び出し:壁の表示
◆ウェイト:0.0秒
◆画面の表示:フェードイン
◆スイッチの処理:[0001:システム起動]をONにする




▼2ページ目

イベント出現条件:スイッチ[0001:システム起動]がON
イベント開始条件:決定キーが押されたとき

◆変数の操作:[0016:次の敵の出現歩数]代入,20
◆戦闘の処理:スライムx2



乱数を使う事で、次に出現する歩数を変えたり、
出現する敵グループのランダムにしたりする事ができます。

■マップイベント「準備イベント」

▼1ページ目

イベント開始条件:自動的に始まる

◆条件分岐:スイッチ[0004:イベント呼出:画像]がON
 ◆変数の操作:[0013:画像番号]代入,0
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:スイッチ[0005:イベント呼出:触れた]がON
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:スイッチ[0006:イベント呼出:決定]がON
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0010:1ページ目]代入,1
◆変数の操作:[0016:次の敵の出現歩数]代入,乱数[18〜20]
◆ピクチャーの表示:1,P01 床,(160,120)(透明度:0%)
◆ピクチャーの表示:2,P02 5列 2,(160,120)(透明度:100%)
◆ピクチャーの表示:3,P03 5列 4,(160,120)(透明度:100%)
◆ピクチャーの表示:4,P04 4列 1,(160,120)(透明度:100%)
◆ピクチャーの表示:5,P05 4列 5,(160,120)(透明度:100%)
◆ピクチャーの表示:6,P06 5列 3,(160,120)(透明度:100%)
◆ピクチャーの表示:7,P07 4列 2,(160,120)(透明度:100%)
◆ピクチャーの表示:8,P08 4列 4,(160,120)(透明度:100%)
◆ピクチャーの表示:9,P09 3列 1,(160,120)(透明度:100%)
◆ピクチャーの表示:10,P10 3列 5,(160,120)(透明度:100%)
◆ピクチャーの表示:11,P11 4列 3,(160,120)(透明度:100%)
◆ピクチャーの表示:12,P12 3列 2,(160,120)(透明度:100%)
◆ピクチャーの表示:13,P13 3列 4,(160,120)(透明度:100%)
◆ピクチャーの表示:14,P14 2列 1,(160,120)(透明度:100%)
◆ピクチャーの表示:15,P15 2列 5,(160,120)(透明度:100%)
◆ピクチャーの表示:16,P16 3列 3,(160,120)(透明度:100%)
◆ピクチャーの表示:17,P17 2列 2,(160,120)(透明度:100%)
◆ピクチャーの表示:18,P18 2列 4,(160,120)(透明度:100%)
◆ピクチャーの表示:19,P19 2列 3,(160,120)(透明度:100%)
◆ピクチャーの表示:20,P20 1列 2,(160,120)(透明度:100%)
◆ピクチャーの表示:21,P21 1列 4,(160,120)(透明度:100%)
◆ピクチャーの表示:22,P22 1列 3,(160,120)(透明度:100%)
◆ピクチャーの表示:23,P23 0列 2,(160,120)(透明度:100%)
◆ピクチャーの表示:24,P24 0列 4,(160,120)(透明度:100%)
◆イベントの呼び出し:壁の表示
◆ウェイト:0.0秒
◆画面の表示:フェードイン
◆スイッチの処理:[0001:システム起動]をONにする




▼2ページ目

イベント出現条件:スイッチ[0001:システム起動]がON
イベント開始条件:決定キーが押されたとき

◆変数の操作:[0016:次の敵の出現歩数]代入,乱数[18〜20]
◆変数の操作:[0017:乱数]代入,乱数[1〜3]
◆条件分岐:変数[0017:乱数]が1
 ◆戦闘の処理:スライムx1
 ◆
:分岐終了
◆条件分岐:変数[0017:乱数]が2
 ◆戦闘の処理:スライムx2
 ◆
:分岐終了
◆条件分岐:変数[0017:乱数]が3
 ◆戦闘の処理:こうもりx2
 ◆
:分岐終了



キー操作のイベントには、敵が出現する歩数になった時に、
マップイベント「準備イベント」の2ページ目を呼び出す設定を追加します。

なお、マップイベントと重なっている時には、出現歩数になった場合でも敵は出現させません。

■コモンイベント「キー操作」

イベント開始条件:自動的に始まる
出現条件スイッチ:[0001:システム起動]

◆変数の操作:[0015:XY位置]代入,主人公のX座標
◆変数の操作:[0015:XY位置]乗算,1000
◆変数の操作:[0015:XY位置]加算,主人公のY座標
◆キー入力の処理:[0001:キー入力](上・下・左・右・取消/オプション:ON)
◆条件分岐:変数[0001:キー入力]が6
 ◆メニュー画面の呼び出し
 ◆イベント処理の中断
 ◆
:分岐終了
◆条件分岐:変数[0001:キー入力]が4
 ◆条件分岐:スイッチ[0002:前進可能]がON
  ◆キャラクターの動作指定:主人公,一歩前進
  ◆効果音の演奏:カーソル1
  ◆指定動作の全実行
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0001:キー入力]が1
 ◆条件分岐:スイッチ[0003:後進可能]がON
  ◆キャラクターの動作指定:主人公,180度方向転換,一歩前進,180度方向転換
  ◆効果音の演奏:カーソル1
  ◆指定動作の全実行
  ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:変数[0001:キー入力]が2
 ◆キャラクターの動作指定:主人公,左に90度回転
 ◆効果音の演奏:カーソル1
 ◆指定動作の全実行
 ◆
:分岐終了
◆条件分岐:変数[0001:キー入力]が3
 ◆キャラクターの動作指定:主人公,右に90度回転
 ◆効果音の演奏:カーソル1
 ◆指定動作の全実行
 ◆
:分岐終了
◆イベントの呼び出し:壁の表示
◆注釈:-----------------------------------------------------------
:  :マップイベントと重なっているかどうかをチェック
:  : 

◆変数の操作:[0002:主人公のX座標]代入,主人公のX座標
◆変数の操作:[0003:主人公のY座標]代入,主人公のY座標
◆指定位置のイベントID取得:(V[0002],V[0003]),[0009:イベントID]
◆変数の操作:[0002:主人公のX座標]乗算,1000
◆変数の操作:[0002:主人公のX座標]加算,主人公のY座標
◆条件分岐:変数[0015:XY位置]がV[0002]以外
 ◆変数の操作:[0003:主人公のY座標]代入,主人公のY座標
 ◆変数の操作:[0016:次の敵の出現歩数]減算,1
 ◆条件分岐:変数[0009:イベントID]が1以上<オプションにチェック
  ◆イベントの呼び出し:V[9][V[10]]
  ◆
 :それ以外の場合
  ◆条件分岐:変数[0016:次の敵の出現歩数]が0以下
   ◆イベントの呼び出し:準備イベント[2]<準備イベントの2ページ目を呼び出し
   ◆
  :分岐終了
  ◆

 :分岐終了
 ◆
:分岐終了


▲トップへ戻る▲


  
■補足

今回の設定でゲームを開始すると、ゲーム開始時にマップや主人公の表示が見える状態になります。

真っ暗な状態から始めたい時には、別のマップに真っ暗な画面になるマップを作成し、
そこにパーティーの初期位置を設定して…
◆画面の消去:〜お好みの消し方〜
◆場所移動:〜ダンジョンマップの初期位置へ〜
のイベントを実行して、ダンジョンマップへ移動してください。



文章を表示する場合、マップ内を歩く主人公キャラの位置によって、
文章の表示位置が画面の下になったり、画面の上になったりします。

もしも必ず画面に下に文章を表示させたい時には、マップイベント「準備イベント」の中に…
◆文章オプション変更:通常,下,固定,イベント移動禁止
を設定してください。


▲トップへ戻る▲



◎関連ページ

●3Dダンジョンを作る
┣○階段を設置
┣○扉を設置
┗○オートマッピングを追加

●擬似3Dの基礎

YADOTトップ  このサイトは何?  気紛れな空間へ戻る  メール