2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ティラノスクリプトのglink選択肢ボタンにキーをマッピング

Last updated at Posted at 2020-02-15

今作ってるノベルゲームは、選択肢が常に二択になってます。
以下のように。

image.png

それで
『←』キーで左を選択、
『→』キーで右を選択
にしたかったです。

でもボタンがglinkタグで作られていて、キーボードでの操作ができなかったです。
(linkタグだったら基本的にキーボードでの操作ができます)
でもこのゲームもキーボードだけでプレイできるようにしたかったんです。

それで、簡単なトリックを見つけました。
選択肢は以下のように、glink タグで作ってます。

[glink name="choose_btn_a" x=200 y=300 width="300" height="100" ……
[glink name="choose_btn_b" x=680 y=300 width="300" height="100" ……

ボタンのnameタグに固有の値を割り当てます。
左の選択肢にはchoose_btn_aという値を、
右の選択肢にはchoose_btn_bを。

そしてそれをライダーでボタンを分析してみたら、glinkボタンは以下のようなhtmlタグに変換されてました。

name に指定した値は、classの中に入るんです。
jqueryで操作が可能って事です。
あとはキーを割り当てるだけ。

KeyConfig.jsファイルを開きます。
そこで方向キーの割当ができます。

  • KeyConfig.js
KeyConfig.js
        "37" : function(){
            try{
                $(".choose_btn_a").click();
            }catch(e){
                console.log(e.message);
            }
        },
        "39" : function(){
            try{
                $(".choose_btn_b").click();
            }catch(e){
                console.log(e.message);
            }
        },

37が『←』キー、
39が『→』キーです。
そのキーを押すとjqueryでそれぞれのglinkにマウスクリックイベントを発生させるわけです。
以上です。簡単です。

でももし後でティラノスクリプトのバージョンアップによりglinkのnameタグの実装が変わったら、このjqueryは動かなくなるかも知れませんから、一応try-catchで防御しました。
(ちなみに僕が使ってるティラノスクリプトはv480fです)

2
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?