姪っ子のために作った知育アプリの備忘録

かわいい姪っ子のために!! 知育アプリが作りたい!!

ティラノスクリプトで長押し判定

ティラノスクリプトでスマホのタッチ長押し判定で、イベント分岐をさせたい❗️
例えば、要素を長押しでTIPSみたいな、とか。
長押しでゲームを中断、とか。

[iscript]
var isLongTap = false;
var timerid;
var $div = $('*');
$div.on('touchstart',function(){
    timerid = setTimeout(function() {
        isLongTap = true;
    },1500);
});
$div.on('touchmove ',function(){
    if(isLongTap){
        tf.longtap=1;
        //ほんとは、ここに実行させたい処理
    }else{
        tf.longtap=0;
    }
});
$div.on('touchend touchcancel',function(){
    clearTimeout(timerid);
    if(isLongTap){
        tf.longtap=1;
        //ほんとは、ここに実行させたい処理
    }else{
        tf.longtap=0;
    }
});
[endscript]

これがホームページだったらうまく動くんだけどなぁ〜と、思いながら。
※の部分は、最初、tyrano_baseで試たが、それだとキャラや[clickable]には、反応しなかった。
動くには動くけど、ティラノスクリプトに戻ってこれなかったり、反応しない時があったりして、うまい処理を書くのが難しい😣
結局はこれで、フラグだけ立てて、[clickable]の移動先で、cond属性をつけて分岐させることに。

ただ、このマクロを配置する場所は、[clickable]などが配置し終わった最後、[s]の手前にしないと安定しなかった。
また、JSの中に直接、$.finishGame();と入れて、タイトル画面に戻るようしてみたけど、これも重くなったり、タイトルへ戻るが30個くらい出て来てうまくいかず😅

使う際は、移動先のラベルでtf.longtap=0;をやるのを忘れずに。