Egret社区
1银子
手指不离开屏幕,一直在屏幕上来回划动,怎么判断划得快,还是划得慢

分享到 :
0 人收藏

7 个回复

倒序浏览
熊猫少女  官方团队 | 2019-2-15 14:30:05
判断两次距离差值大小
常歌行  官方团队 | 2019-2-15 14:31:58
坐标差/时间差就是速度了
JackieMike  登堂入室 | 2019-2-15 15:42:50
常歌行 发表于 2019-2-15 14:31
坐标差/时间差就是速度了

手指从第一次按下后,后面就不抬起了,在touchMove的时候变速,怎么获取坐标差,时间差
熊猫少女  官方团队 | 2019-2-15 15:54:32
本帖最后由 熊猫少女 于 2019-2-15 15:56 编辑
JackieMike 发表于 2019-2-15 15:42
手指从第一次按下后,后面就不抬起了,在touchMove的时候变速,怎么获取坐标差,时间差
...

[mw_shl_code=applescript,true]public lastPos: egret.Point = new egret.Point();
    public moveFunc(e: egret.TouchEvent) {
        if (this.lastPos) {
            console.log(e.stageX - this.lastPos.x);
        }
        this.lastPos.x = e.stageX;
    }[/mw_shl_code]如果判断合速度,判断两点距离就行
JackieMike  登堂入室 | 2019-2-15 16:05:00
熊猫少女 发表于 2019-2-15 15:54
[mw_shl_code=applescript,true]public lastPos: egret.Point = new egret.Point();
    public moveFunc( ...

距离怎么代表速度了?划动的速度由用户决定,距离长也可以划的快,比如第一次划动   开始点和结束点之间距离是5cm,用户用了2秒划完,第二次划动两点距离是3cm,用户划得慢,用了3秒
熊猫少女  官方团队 | 2019-2-15 16:14:53
本帖最后由 熊猫少女 于 2019-2-15 16:19 编辑
JackieMike 发表于 2019-2-15 16:05
距离怎么代表速度了?划动的速度由用户决定,距离长也可以划的快,比如第一次划动   开始点和结束点之间 ...

,难道不是实时检测速度吗
tbwind  初学乍练 | 2019-2-16 21:23:30
滑动时记录坐标及对应时间戳, 用位移除以时间差来计算当前的滑动速度, 计算出来的速度使用过后就可以置0, 避免手指停止运动touchMove回调没有响应, 而速度值仍然很高.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部