オブジェクトをドラッグする2 - hoge1e3/Tonyu2 GitHub Wiki

用途別リファレンス

※この方法よりオブジェクトをドラッグする のほうが仕組みは簡単です. 次のような場合にはここで示したものを使ってください.

  • オブジェクトが多いときなど効率を重視する場合
  • 複数のオブジェクトが重なっている箇所をタッチしたとき,手前のものだけを動かしたい場合

オブジェクトをドラッグする2

  • onメソッドを用いて,"touch"イベントを検知し,オブジェクトがタッチされたかを判定します.
  • "touch"イベントの処理の中で,移動中や指が離れたときの処理を記述します.
    • イベントオブジェクトのfinger フィールドにTouchFingerオブジェクトが渡されます.

Main

x=100;y=200;
touching=false;//タッチ&ドラッグ中はtrueになる
on("touch",drag);

\drag(touchEvent) {
    //タッチされた指オブジェクトをfに取得
    var f=touchEvent.finger;
    touching=true;
    f.on("move") \(moveEvent) {
        //指が動いたときに実行する処理
        //指の移動量に応じて移動
        x+=moveEvent.vx;
        y+=moveEvent.vy;
    };
    f.on("end") \(endEvent) {
        //指が離れたときに実行する処理
        touching=false;
    };
}

参考

.