GMS はマルチタッチ対応しているが、YoYo_MouseCheckButton という関数はヘルプファイルにドキュメントが無い。

version 1.4.1690 以前では利用できましたが、v 1.4.1763 以降のバージョンでは利用できなくなった関数。マルチタッチ用でしたが公式対応が無かったこともあり、ひっそりと廃止されたようです。

以下は古いバージョンの GM:S 1.4 でしか利用できない関数およびスクリプトです。現在は利用できません。

マルチタッチは同時に五つまで検出可能で、六つ以上検出できない仕様。このためループ処理する場合にもループ上限は最大 5 ということになる。

具体的な動作はマルチタッチ対応のデバイスで確認してください。HTML5 は Android 端末で動作を確認してあります。タッチした場所にオブジェクト・インスタンスを作成します。

参考動作:マルチタッチ検出サンプル(HTML5版)

リソースツリーは以下スクリーンショット参考

    MultiTouch_YoYoMouseCheckButtonPressed_-_instance_create_sample
///TEST
var a,b,c,d, i;// i はループインデックス用
i = 0;
repeat(5){
        if (YoYo_MouseCheckButtonPressed(i, mb_left)){
            a              = YoYo_MouseX(i);//mouse_x;
            b              = YoYo_MouseY(i);//mouse_y;
            c              = instance_create(a,b,test);
            /*
                switch(irandom_range(0,4)){
                    case 4: d = seta;  break;
                    case 3: d = gamma; break;
                    case 2: d = omega; break;
                    case 1: d = beta;  break;
                    case 0: d = alpha; break;
                };
            */
            c.sprite_index = irandom_range(0,4);
            //show_message(c.sprite_index);
        };
    i++;
};

sprite_index の指定について

サンプルでは単純なリソース構成なので、スプライトインデックスは直接 irandom_range 関数を使って指定します。

この自作関数処理を他プロジェクトへ組み込む場合は、コメントアウトしてある switch case を使って、スプライト名で指定した方が無難。

YoYo_Mouse 系命令について

ループ処理中でループインデックスを利用します。

マルチタッチへ対応する必要がない場合、インデックスは常に 0 を指定しておけば mouse_check_button 系の命令と同じ動作になります。

ライブラリ一覧へ戻る