获取手指移动的路程以及手指移动的速度 Unity

为了获得精确值,可以在FixedUpdate里面执行,同时也可以减小计算量,更改FixedUpdate的更新速率的位置为Edit->Project Setting->Time。

 float distance;
 void start(){
    distence=0;
 }
void FixedUpdate{
	if(Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved){
		Vector2 touchDeltaPosition= Input.GetTouch(0).deltaPosition;
		float temp=Mathf.Sqrt(Mathf.Pow(touchDeltaPosition.x,2f)+Mathf.Pow(touchDeltaPosition.y,2f));
		 // 路程
		distence+=temp;
		//速度
		velocity=Mathf.Abs(temp/Time.deltaTime);
	}
	else{
		distence=0;
	}
}


*Mathf.Pow(float x1,float x2)计算x1的x2次方

*Mathf.Sqrt(float x1)计算x2的平方根

  

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值