左上のメルマガで紹介されている
吉里吉里でのシステムボタンの作成方法?ですが、
こちらにブログを移したので
こちらでも紹介していこうと思います。

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

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

また、私はプログラムがほとんど出来ないので
質問にはお答えできません。
何て、投げやりなー!と思われるでしょうが
わからない時には、こちらを見てみると良いかもです。
私も、こちらで、勉強(少し)をさせていただきました~

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(...);
    }


残りは、メルマガで紹介した後に
また載せていきますね。
最新情報は、メルマガにて。

メルマガ購読・解除