首页 > 解决方案 > 手机输入触摸屏

问题描述

我在底部有四个按钮,然后笔记会从屏幕顶部掉下来,我不知道如何为移动设备编写触摸屏部分,我让它适用于 pc 格式,但我不确定我需要改变什么让它工作。

我有 2 个脚本,一个用于按钮,一个用于每个音符掉落。

这就是我目前所拥有的: 对于按钮:

void Update()
    {
        if(Input.GetKeyDown(keyToPress))
        {
            theSR.sprite = pressedImage;
        }

        if(Input.GetKeyUp(keyToPress))
        {
            theSR.sprite = defaultImage;
        }
    }

对于注释: void Update()

 {
        if(Input.GetKeyDown(keyToPress))
        {
            if(canBePressed)
            {
                gameObject.SetActive(false);

                //GameManager.instance.NoteHit();


                //Determine if player hits the note normal, good, perfect
                if (Mathf.Abs(transform.position.y) > 0.25)
                {
                    GameManager.instance.NormalHit();
                    Instantiate(hitEffect, transform.position, hitEffect.transform.rotation);
                }
                else if (Mathf.Abs(transform.position.y) > 0.05f)
                {
                    GameManager.instance.GoodHit();
                    Instantiate(goodEffect, transform.position, goodEffect.transform.rotation);

                }
                else
                {
                    GameManager.instance.PerfectHit();
                    Instantiate(perfectEffect, transform.position, perfectEffect.transform.rotation);
                }
            }
        }
    }

如果它只是 PC,这非常有效,但我只是不知道如何将其更改为按钮,以便在移动设备上做出与 PC 上完全相同的反应

标签: c#unity3dmobile

解决方案


那么答案取决于您打算如何在移动设备上获得用户输入。如果我想了想,有两种方法可以做到这一点。

第一个是获取输入触摸屏位置并检查 x 轴上的位置是否在 nots 的 4 个隔间之一中。你可以用这个

第二,您实际上可以使用 Unity 的 UI 按钮,它们适用于所有平台。因此,您可以在 PC 上进行测试并上传到您的手机,使其以相同的方式工作。

希望这对您有所帮助!


推荐阅读