Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pointmoveとpointstayが同時に呼ばれないようにする #214

Open
alkn203 opened this issue Oct 13, 2017 · 6 comments
Open

pointmoveとpointstayが同時に呼ばれないようにする #214

alkn203 opened this issue Oct 13, 2017 · 6 comments

Comments

@alkn203
Copy link
Contributor

alkn203 commented Oct 13, 2017

interactive.js内の記述は、以下で良いような気がします。

      if (obj._touchFlags[p.id]) {
        if (p._moveFlag) {
          obj.flare('pointmove', e);
        }
        else {
          obj.flare('pointstay', e);
        }
      }
@alkn203
Copy link
Contributor Author

alkn203 commented Oct 19, 2017

updaterにも同様の記述があるので、どちらか確認する必要あり。

@simiraaaa
Copy link
Contributor

@alkn203 pointmoveとpointstayが同時に呼ばれないことのメリットってなんですか?

@alkn203
Copy link
Contributor Author

alkn203 commented Oct 19, 2017

タッチしている時だけシールド張る時とかにと思ったのですが、何か他の処理で代用できる気がしてきましたw

@minimo
Copy link
Contributor

minimo commented Oct 19, 2017

直感的にはmoveはpointerが動いている時だけ呼ばれるって感じはしますね。
JS使い始めの時にそう思ってて、「ん?」とちょっと引っかかった覚えがあります。

@simiraaaa
Copy link
Contributor

moveFlagをチェックしてstayイベント内でmoveFlagで処理を切り分けるのが良いかなと思いました

@alkn203
Copy link
Contributor Author

alkn203 commented Dec 9, 2017

@simiraaaa レビューありがとうございます。それでも良いですね。

そうなると、pointer._moveFlagで参照するか

プライベート変数的なやつには直接参照したくない気もしますので

var e = {
        pointer: p,
        interactive: this,
        over: overFlag,
        move: p._moveFlag
      };

のようにラップするかですかね。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants