[前へ] [目次へ] [次へ]

クリアアイテムを使う台座

今回は第24回で提示した3ステージのクリアアイテムを使う台座を解説します。


●再掲「称号を捧げる台座」
   マップの空いている場所に称号を捧げる台座を3つ作り、それぞれに称号を捧げられるようにします。
   全ての称号を捧げたら「ゲームクリア」と表示します。
   
   「台座」は 第13回 、 第20回 を参考にすると良いでしょう。


●各台座の内容
   「ツボの称号」「木の称号」「タルの称号」を捧げる台座を作ります。
   内容的にはそれぞれ対応するアイテムの使用を確認し、
   イベント状態条件を使って画像を切り替えます。
   
   ●ツボの称号を捧げる台座
<  1>
<  2>
<  3>
<  4>
<  5>
<  6>
<  7>
<  8>
<  9>
< 10>
< 11>
< 12>
< 13>
< 14>
< 15>
< 16>
< 17>
< 18>
< 19>
< 20>
< 21>
< 22>
< 23>
< 24>
< 25>
< 26>
< 27>
< 28>
< 29>
< 30>
< 31>
< 32>
< 33>
< 34>
//メッセージの表示(待機,消去する) (表示内容)
ECL::WaitLastMessage(
   
"ツボの称号を捧げよ。");

//アイテムを選択させる (キャンセルは-1、それ以外はアイテムIDを返す)
Integer selid=ECL::WaitItemSelect();

if(selid==4){
   
   
//アイテムを失う (アイテムID,個数)
   //失うアイテム:ツボの称号
   @@pdb_item.SubItemCount(4,1);
   
   
//ゲーム変数[インスタンス整数]の設定 (ゲーム変数名,設定値)
   
SetInstanceInt('捧げた',1);
   
   
//ゲーム変数[マップ一時整数]の取得 (ゲーム変数名,デフォルト値)
   
Integer cnt=GetMapInt('#捧げた称号の数',0);
   
   cnt++;
   
   
//ゲーム変数[マップ一時整数]の設定 (ゲーム変数名,設定値)
   
SetMapInt('#捧げた称号の数',cnt);
   
   
if(cnt==3){
      
      
//メッセージの表示(待機,消去する) (表示内容)
      
ECL::WaitLastMessage(
         
"全ての称号を捧げた!
         ゲームクリア!"
);
      
   }
   

   ●木の称号を捧げる台座
<  1>
<  2>
<  3>
<  4>
<  5>
<  6>
<  7>
<  8>
<  9>
< 10>
< 11>
< 12>
< 13>
< 14>
< 15>
< 16>
< 17>
< 18>
< 19>
< 20>
< 21>
< 22>
< 23>
< 24>
< 25>
< 26>
< 27>
< 28>
< 29>
< 30>
< 31>
< 32>
< 33>
< 34>
//メッセージの表示(待機,消去する) (表示内容)
ECL::WaitLastMessage(
   
"木の称号を捧げよ。");

//アイテムを選択させる (キャンセルは-1、それ以外はアイテムIDを返す)
Integer selid=ECL::WaitItemSelect();

if(selid==5){
   
   
//アイテムを失う (アイテムID,個数)
   //失うアイテム:木の称号
   @@pdb_item.SubItemCount(5,1);
   
   
//ゲーム変数[インスタンス整数]の設定 (ゲーム変数名,設定値)
   
SetInstanceInt('捧げた',1);
   
   
//ゲーム変数[マップ一時整数]の取得 (ゲーム変数名,デフォルト値)
   
Integer cnt=GetMapInt('#捧げた称号の数',0);
   
   cnt++;
   
   
//ゲーム変数[マップ一時整数]の設定 (ゲーム変数名,設定値)
   
SetMapInt('#捧げた称号の数',cnt);
   
   
if(cnt==3){
      
      
//メッセージの表示(待機,消去する) (表示内容)
      
ECL::WaitLastMessage(
         
"全ての称号を捧げた!
         ゲームクリア!"
);
      
   }
   
   
   ●タルの称号を捧げる台座
<  1>
<  2>
<  3>
<  4>
<  5>
<  6>
<  7>
<  8>
<  9>
< 10>
< 11>
< 12>
< 13>
< 14>
< 15>
< 16>
< 17>
< 18>
< 19>
< 20>
< 21>
< 22>
< 23>
< 24>
< 25>
< 26>
< 27>
< 28>
< 29>
< 30>
< 31>
< 32>
< 33>
< 34>
//メッセージの表示(待機,消去する) (表示内容)
ECL::WaitLastMessage(
   
"タルの称号を捧げよ。");

//アイテムを選択させる (キャンセルは-1、それ以外はアイテムIDを返す)
Integer selid=ECL::WaitItemSelect();

if(selid==6){
   
   
//アイテムを失う (アイテムID,個数)
   //失うアイテム:タルの称号
   @@pdb_item.SubItemCount(6,1);
   
   
//ゲーム変数[インスタンス整数]の設定 (ゲーム変数名,設定値)
   
SetInstanceInt('捧げた',1);
   
   
//ゲーム変数[マップ一時整数]の取得 (ゲーム変数名,デフォルト値)
   
Integer cnt=GetMapInt('#捧げた称号の数',0);
   
   cnt++;
   
   
//ゲーム変数[マップ一時整数]の設定 (ゲーム変数名,設定値)
   
SetMapInt('#捧げた称号の数',cnt);
   
   
if(cnt==3){
      
      
//メッセージの表示(待機,消去する) (表示内容)
      
ECL::WaitLastMessage(
         
"全ての称号を捧げた!
         ゲームクリア!"
);
      
   }
   

   また、二つ目のイベント状態は状態条件「インスタンス整数「捧げた」が1と同値」で、
   グラフィックを捧げる称号のものにしただけとなっています。





●終わりに
   今回の台座は似たような内容が3つあり、同じようなことが別々に書かれています。
   これらの台座のスクリプトをまとめたりする方法もあるのですが、
   そういった方法は入門編ではまだ扱いません。
   
   とはいえここまでの手法だけでもそこそこのゲームを作ることができるはずです。
   自分でアレンジしたものを作ってみるのも良いでしょう。



[前へ] [目次へ] [次へ]

最終更新 2017/12/20