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

本文介绍如何在Unity中利用FixedUpdate方法来精确测量触摸屏输入时的移动距离,并计算移动速度。通过调整编辑器设置以优化计算频率,确保了测量的准确性和性能的平衡。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了获得精确值,可以在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的平方根

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值