【问题标题】:Simple Touch Controls简单的触摸控制
【发布时间】:2018-07-31 14:22:50
【问题描述】:

我一直在我的电脑上测试我的游戏,使用左右箭头,但我想将其切换为触控。

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

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

这是我现在的控件代码,我想知道我是否可以使用 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


【解决方案1】:

触摸左右半屏移动的代码

 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;
            }
        }
     }
 }

【讨论】:

  • 啊啊啊啊非常感谢!!我只是在学习,网上的文档和教程在触摸控制上太复杂了……
【解决方案2】:

使用在点击时获取鼠标位置的代码,并检查它是在屏幕的右侧还是左侧

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-19
    • 2015-08-10
    • 1970-01-01
    • 1970-01-01
    • 2012-01-10
    • 1970-01-01
    相关资源
    最近更新 更多