如何在Unity上限制Android的触摸移动

法兹勒·拉比(Fazle Rabbi)

我正在为Android设备开发2D赛车游戏。我已经为我的汽车编码了触摸运动。但是问题是汽车已经超越了轨道。我如何限制汽车的移动,我的意思是如何编码使我的汽车停留在屏幕上(屏幕分辨率为480 * 800,汽车子画面的最大位置为4.2,最小位置为-4.2)。这是我的C#汽车控制器脚本。

using UnityEngine; using System.Collections;

public class carController : MonoBehaviour {

     public float carSpeed;


     // Update is called once per frame
     void Update () {

         if (Input.touchCount == 1) {

             Touch touch = Input.touches[0];
             if(touch.position.x < Screen.width/2){
                 transform.position += Vector3.left * carSpeed * Time.deltaTime;


             }
             else if(touch.position.x > Screen.width/2){
                 transform.position += Vector3.right * carSpeed * Time.deltaTime;

             }

         }
     }


}
维诺德·维贾扬(Vinod Vijayan)

直接的解决方案是使用这样的钳位功能,因为您知道在计算所需的运动之后的最大值和最小值。

 void Update () {

     if (Input.touchCount == 1) {

         Touch touch = Input.touches[0];
         if(touch.position.x < Screen.width/2){
             transform.position += Vector3.left * carSpeed * Time.deltaTime;


         }
         else if(touch.position.x > Screen.width/2){
             transform.position += Vector3.right * carSpeed * Time.deltaTime;

         }
         Vector3 position = transform.position;
         position.x = Mathf.Clamp(position.x, -4.2f, 4.2f);
         transform.position = position;

     }
 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我如何在Unity 4.5中为Android设备实现第一人称控制器移动触摸键

如何在某些Java类或包上限制createObject()?

如何在Linux网络接口上限制带宽?

如何在Angular 5上限制元素范围?

如何在Laravel上限制到特定用户的路由

如何在Android Studio中通过触摸来移动,旋转和调整文本大小?

如何在 Android Studio 中创建复杂的移动/可触摸动画?

如何在jquery中设置移动限制?

如何在Angular中注册触摸移动事件?

如何在SpriteKit中使用触摸移动多张图像?

如何在Android中检测触摸速度

如何在 Unity 中移动对象

如何在绑定到Winforms控件的大型数据源上限制dbcontext的大小

如何在GWT日期选择器上限制未来日期

如何在一定程度上限制对象旋转?

如何在每个线程的基础上限制 Java 的堆栈大小?

如何在 Vista 系统上限制 TrustedInstaller.exe 的 CPU 份额

如何在64位系统上限制变量类型(如long int)的大小?

如何在表格行鼠标事件上限制多个添加和删除类名

在仍然允许SSH的同时,如何在物理上限制对计算机的访问?

LibGDX:如何通过触摸移动?

如何通过在移动设备上触摸来更改对象属性 (UNITY) (2D)

如何在Android中设置EditText的限制?

如何在 Android 中限制显示列表

如何在Android中的触摸比例动画上应用imageView?

如何在Android WebView中获取触摸事件信息?

Android:如何在触摸外部时关闭DatePicker DialogFragment?

如何在Android中正确处理触摸事件?

如何在Android中以编程方式启用“显示触摸”选项?