Unityと吉里吉里でSLGとかRPGを作るブログ

ご無沙汰しています。
潜水生活の方は順調に進んでおり、夏コミに向けて日々頑張っています。

今回は久しぶりの吉里吉里プラグインです。
前作、『姫百合の乱』では、難しいという意見を少なからず聞きましたので、潜水生活では難易度を設けています。
昨今のゲーム事情を省みて、難易度はいつでも変更可能な設定にしてみました。

そんな訳で、今回はメニューに難易度を追加するプラグインです。
メニューに簡単に項目を追加するプラグインが思いの外少なかったので、私が作った物を公開しようと思ったわけです。
デフォルトでは『難易度』となっていますが、文言等を改良すれば、簡単に他のメニューとしても使えます。

メニュー機能自体は、吉里吉里Zではオミットされてしまったレガシー機能ですが、同人では大変便利なので、
悪い機能ではありません。
◆サンプルダウンロード◆


■プラグイン解説

・008_NanidoMenuPlugin
難易度メニューを追加するプラグインです。サンプルのscenarioフォルダにはいっています。
今回は、このプラグインのソースに手を入れることが前提です。


難易度選択

var menu_name = "難易度"; //メニューの名称
var menu_koumoku_ary = []; //メニュー項目
menu_koumoku_ary.add("ハード");
menu_koumoku_ary.add("ノーマル");
menu_koumoku_ary.add("カジュアル");

var control_ary = []; //メニューコントロールID
control_ary.add("kou");
control_ary.add("otu");
control_ary.add("hei");

menu_nameが実際のメニューに表示される名前です。
難易度以外の項目にしたい場合、ここの名称を変えましょう。

menu_koumoku_aryには、それそれのモードが入ります。
control_aryは上のモードと対になるIDだと思ってください
今回は、3つですが、増やしたければ増やせます。
menu_koumoku_ary.add("ナイトメア");
menu_koumoku_ary.add("ハード");
menu_koumoku_ary.add("ノーマル");
menu_koumoku_ary.add("カジュアル");

var control_ary = []; //メニューコントロールID
control_ary.add("mea");
control_ary.add("kou");
control_ary.add("otu");
control_ary.add("hei");


こんな感じ


メニュークリックの所で、メニューをクリックした時の処理を追加します。
それぞれハード、ノーマル、カジュアルを選んだ時の設定が記載されてます。
サンプルでは、sf.nanidoで難易度を制御していますが、ゲームに合わせて変えて下さい。
セーブデータ事に難易度を変えるなら、セーブデータに入れる必要がありますね。
//------------------------------------------
// メニュークリック
//------------------------------------------
function onMenuClick(menu)
{
//=============================================
//ここにはメニューをクリックした時の処理を書く
//=============================================
//ハードが選択された
if(menu.control === 'kou')
{
sf.nanido = 1;
}

//ノーマルが選択された
if(menu.control === 'otu')
{
sf.nanido = 2;
}

//カジュアルが選択された
if(menu.control === 'hei')
{
sf.nanido = 3;
}

//メニューにチェックをつける
menu.checked = true;
}



最後に現在の値に合わせてメニューの表示を変えるファンクションです。
サンプルでは、ゲーム機動後に選択肢で難易度を選んだあとに呼ばれて、選択した難易度をメニューに反映しています。
セーブロードに対応させたい場合は、ロード後にファンクションを呼ぶ事で、メニューを現在の難易度に設定します。
//------------------------------------------
// メニューの設定
//------------------------------------------
function setMenu()
{
//=============================================
//ここにはロード時や、初回設定時などのときに、メニュー内容を
//設定する為の処理を書く
//ここでは、フラグに合わせて、メニュー項目にチェックを入れている
//=============================================

//一旦メニュー項目のチェックを初期化
var i;
for(i=0; i {
subMenu[i].checked = false;
}

//フラグに合わせて、メニュー項目にチェックをつける
if(sf.nanido == 1)
{
subMenu[0].checked = true;
}

if(sf.nanido == 2)
{
subMenu[1].checked = true;
}

if(sf.nanido == 3)
{
subMenu[2].checked = true;
}
}


難易度選択後
難易度を選択後、メニュー設定ファンクションが呼ばれ、この様にメニューの表示が選択した難易度になる。






◆つぶつぶ主人公HP◆  ◆サンプルダウンロードの一覧◆
スポンサーサイト
2016.03.14 / Top↑
Secret

TrackBackURL
→http://nekodamasi.blog79.fc2.com/tb.php/124-3c2a5e13