左上のメルマガで紹介されている
吉里吉里でのシステムボタンの作成方法?ですが、
こちらにブログを移したので
こちらでも紹介していこうと思います。
こちらなら、メルマガよりも
多少は沢山載せられるので、
メルマガと並行して、載せていきますね~
ただ、メルマガでも触れていますが、
あくまでも、私のゲームに特化した?作りになってます。
ご自分のゲームでは、カスタマイズが必要かも
また、私はプログラムがほとんど出来ないので
質問にはお答えできません。
何て、投げやりなー!と思われるでしょうが
わからない時には、こちらを見てみると良いかもです。
私も、こちらで、勉強(少し)をさせていただきました~
TJSに挑戦!様
それでは、システムボタンのSystem_button.ks本体のスクリプトを。
ちなみに、1行目から87行目です。
(私のゲームのですが)
@if exp="typeof(global.systembutton_object) == 'undefined'"
@iscript
// 画面に「セーブ」「ロード」のボタンを表示するサンプル
// メッセージレイヤのクリアごとにこれらのボタンを button タグで表示することでも
// 実現できますが、あまりそれでは効率が良くないです。
// このサンプルでは、「セーブ」と「ロード」のボタンを含んだレイヤを画面上に
// 表示するものです。
// この例はフリーセーブモードで動作します。いろいろ改造できると思います。
class SystemButtonLayer extends ButtonLayer
// クリックされたときに実行する関数を指定できるボタンレイヤ
{
var onClickFunction;
function SystemButtonLayer(window, parent, func)
{
super.ButtonLayer(window, parent);
focusable = false;
visible = true;
onClickFunction = func;
}
function finalize()
{
super.finalize(...);
}
function onClick()
{
super.onClick(...);
}
function onMouseUp(x, y, button, shift)
{
if(enabled && button == mbLeft)
onClickFunction(this);
super.onMouseUp(...);
}
}
class SystemButtonPlugin extends KAGPlugin
{
var x = 125; // 初期 x 位置
var y = 416; // 初期 y 位置
var foreSeen = false; // 表画面のボタンが可視か
var backSeen = false; // 裏画面のボタンが可視か
var foreButtons = []; // 表画面のボタンの配列
var backButtons = []; // 裏画面のボタンの配列
// 以下は定数として扱う
var IndexHistory = 0; // LOGボタンのインデックス
var IndexSave = 3; // SAVEボタンのインデックス
var IndexLoad = 4; // LOADボタンのインデックス
function SystemButtonPlugin()
{
// SystemButtonPlugin コンストラクタ
createButtons(kag.fore.base, foreButtons); // 表画面のボタンを作成
createButtons(kag.back.base, backButtons); // 裏画面のボタンを作成
realign(); // 再配置
setObjProp(foreButtons, 'visible', foreSeen = false);
setObjProp(backButtons, 'visible', backSeen = false);
// 非表示に
onStableStateChanged(kag.inStable); // イネーブル/ディセーブル状態を更新しておく
}
function finalize()
{
// ボタンを無効化
for(var i = 0; i < foreButtons.count; i++)
invalidate foreButtons[i];
for(var i = 0; i < backButtons.count; i++)
invalidate backButtons[i];
super.finalize(...);
}
残りは、メルマガで紹介した後に
また載せていきますね。
最新情報は、メルマガにて。
吉里吉里でのシステムボタンの作成方法?ですが、
こちらにブログを移したので
こちらでも紹介していこうと思います。

こちらなら、メルマガよりも
多少は沢山載せられるので、
メルマガと並行して、載せていきますね~

ただ、メルマガでも触れていますが、
あくまでも、私のゲームに特化した?作りになってます。
ご自分のゲームでは、カスタマイズが必要かも

また、私はプログラムがほとんど出来ないので
質問にはお答えできません。

何て、投げやりなー!と思われるでしょうが
わからない時には、こちらを見てみると良いかもです。
私も、こちらで、勉強(少し)をさせていただきました~
TJSに挑戦!様
それでは、システムボタンのSystem_button.ks本体のスクリプトを。
ちなみに、1行目から87行目です。
(私のゲームのですが)
@if exp="typeof(global.systembutton_object) == 'undefined'"
@iscript
// 画面に「セーブ」「ロード」のボタンを表示するサンプル
// メッセージレイヤのクリアごとにこれらのボタンを button タグで表示することでも
// 実現できますが、あまりそれでは効率が良くないです。
// このサンプルでは、「セーブ」と「ロード」のボタンを含んだレイヤを画面上に
// 表示するものです。
// この例はフリーセーブモードで動作します。いろいろ改造できると思います。
class SystemButtonLayer extends ButtonLayer
// クリックされたときに実行する関数を指定できるボタンレイヤ
{
var onClickFunction;
function SystemButtonLayer(window, parent, func)
{
super.ButtonLayer(window, parent);
focusable = false;
visible = true;
onClickFunction = func;
}
function finalize()
{
super.finalize(...);
}
function onClick()
{
super.onClick(...);
}
function onMouseUp(x, y, button, shift)
{
if(enabled && button == mbLeft)
onClickFunction(this);
super.onMouseUp(...);
}
}
class SystemButtonPlugin extends KAGPlugin
{
var x = 125; // 初期 x 位置
var y = 416; // 初期 y 位置
var foreSeen = false; // 表画面のボタンが可視か
var backSeen = false; // 裏画面のボタンが可視か
var foreButtons = []; // 表画面のボタンの配列
var backButtons = []; // 裏画面のボタンの配列
// 以下は定数として扱う
var IndexHistory = 0; // LOGボタンのインデックス
var IndexSave = 3; // SAVEボタンのインデックス
var IndexLoad = 4; // LOADボタンのインデックス
function SystemButtonPlugin()
{
// SystemButtonPlugin コンストラクタ
createButtons(kag.fore.base, foreButtons); // 表画面のボタンを作成
createButtons(kag.back.base, backButtons); // 裏画面のボタンを作成
realign(); // 再配置
setObjProp(foreButtons, 'visible', foreSeen = false);
setObjProp(backButtons, 'visible', backSeen = false);
// 非表示に
onStableStateChanged(kag.inStable); // イネーブル/ディセーブル状態を更新しておく
}
function finalize()
{
// ボタンを無効化
for(var i = 0; i < foreButtons.count; i++)
invalidate foreButtons[i];
for(var i = 0; i < backButtons.count; i++)
invalidate backButtons[i];
super.finalize(...);
}
残りは、メルマガで紹介した後に
また載せていきますね。
最新情報は、メルマガにて。