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


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




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

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

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

ショートカット
▼処理内容の確認
▼画像の準備
▼イベントを設定する前の準備

▼ピクチャーの使い方
▼スイッチ・変数
▼準備イベントの設定
▼キー操作の設定
▼壁の表示の設定
▼重なった時に実行するイベントについて
▼エンカウントについて
▼補足


  
☆処理内容の確認

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

主人公の現在位置の把握なども通常の2Dマップと同じように、
主人公のキャラクターをマップ上に動かして、
主人公の移動処理などを行います。

壁の有無の判断は、地形IDを読み取る事で判断します。

地形ID1番=歩けるマス
地形ID2番=歩けないマス(壁のマス)



壁の表示は、いくつものピクチャーを重ねて表示します。

▼重なりイメージ

※実際には瞬間的に重なります。

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


▲トップへ戻る▲


  
☆画像の準備

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

▼床画像▼
▼壁の画像▼



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

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

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

※ダウンロードした画像は、加工を含め、自由に使用してください。
 なお、他のページにある階段や扉の画像をまとめて欲しい場合は、
 動作確認用のサンプルデータにあるフォルダから取得してください。
※ダウンロードした画像の壁のファイル名は、
 上記の表を参考に付けられています。
 例えば、主人公の目の前の壁のファイル名は「1列 3.png」になります。
※ファイル名の頭の「P22」は使用するピクチャー番号を示しています。



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


▲トップへ戻る▲


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

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



まずデータベース「地形」の画面を開き、
地形番号0001=歩けるマス
地形番号0002=歩けないマス(壁)
と設定してください。

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





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

※全ての歩けないマスに地形番号2番を設定する必要はありません。
 赤丸を付けたチップのみ、地形番号2番にしてください。






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





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 22 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ページ目の中にスイッチをONにするイベントを設定し、
2ページ目のイベント出現条件にそのONにしたスイッチを設定して、
二度と実行できないようにしますが、
今回の処理では2ページ目を設定しても1ページ目が再び実行されてしまいますので、
1ページ目の中に一度だけ実行するように設定する必要があります。


▲トップへ戻る▲


  
☆エンカウントについて

3Dダンジョンでは、キャラクターの動作指定で移動している関係で、
通常のエンカウントの設定が使えません。

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

【自作エンカウントのページを開く】



下記は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トップ  このサイトは何?  気紛れな空間へ戻る  メール