pointmoveとpointstayが同時に呼ばれないようにする
alkn203 opened this issue · comments
alkn203 commented
interactive.js内の記述は、以下で良いような気がします。
if (obj._touchFlags[p.id]) {
if (p._moveFlag) {
obj.flare('pointmove', e);
}
else {
obj.flare('pointstay', e);
}
}
alkn203 commented
updaterにも同様の記述があるので、どちらか確認する必要あり。
alkn203 commented
タッチしている時だけシールド張る時とかにと思ったのですが、何か他の処理で代用できる気がしてきましたw
minimo commented
直感的にはmoveはpointerが動いている時だけ呼ばれるって感じはしますね。
JS使い始めの時にそう思ってて、「ん?」とちょっと引っかかった覚えがあります。
simiraaaa commented
moveFlagをチェックしてstayイベント内でmoveFlagで処理を切り分けるのが良いかなと思いました
alkn203 commented
@simiraaaa レビューありがとうございます。それでも良いですね。
そうなると、pointer._moveFlagで参照するか
プライベート変数的なやつには直接参照したくない気もしますので
var e = {
pointer: p,
interactive: this,
over: overFlag,
move: p._moveFlag
};
のようにラップするかですかね。