首页 > 解决方案 > 简单的触摸控制

问题描述

我一直在我的电脑上测试我的游戏,用左右箭头,但我想把它切换到触摸控制。

我查看了一些教程,但有人说我需要从商店购买资产,否则它并不真正符合我的需求。

我只需要一些指导来指导我应该采取的最佳方向:)

这是我现在的控件代码,我想知道我是否可以使用 2 个按钮,因为我只需要左右移动?

 void Update()
 {
     transform.position = Vector2.MoveTowards(transform.position, targetPos, speed * Time.deltaTime);

     if (Input.GetKeyDown(KeyCode.RightArrow) && transform.position.x < maxWidth)
     {
         targetPos = new Vector2(transform.position.x + Xincrement, transform.position.y);
         transform.position = targetPos;
     }
     else if (Input.GetKeyDown(KeyCode.LeftArrow) && transform.position.x > minWidth)
     {
         targetPos = new Vector2(transform.position.x - Xincrement, transform.position.y);
         transform.position = targetPos;
     }
 }

标签: c#unity3d

解决方案


触摸左右半屏移动的代码

 void Update () { 
     transform.position = Vector2.MoveTowards(transform.position, targetPos, speed * Time.deltaTime);  
     // Detect touch event         
     Touch touch = Input.GetTouch(0);
     if (touch.phase == TouchPhase.Began)
     {
        if (touch.position.x > (Screen.width / 2))
        {
            if (transform.position.x < maxWidth)
            {
                targetPos = new Vector2(transform.position.x + Xincrement, transform.position.y);
                transform.position = targetPos;
            }
        } 
        else {
            if (transform.position.x > minWidth)
            {
                targetPos = new Vector2(transform.position.x - Xincrement, transform.position.y);
     transform.position = targetPos;
            }
        }
     }
 }

推荐阅读