オブジェクトをドラッグする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;
};
}
参考
- 特定の位置をクリックした時に動作をする
- オブジェクトをドラッグする
- ドラッグやスワイプした量に応じてオブジェクトを動かす
- タッチした位置にオブジェクトを移動させる
- findTouch
- $touches
- Actorが処理できるイベントの種類一覧
.