c# - 手机输入触摸屏
问题描述
我在底部有四个按钮,然后笔记会从屏幕顶部掉下来,我不知道如何为移动设备编写触摸屏部分,我让它适用于 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 上完全相同的反应
解决方案
那么答案取决于您打算如何在移动设备上获得用户输入。如果我想了想,有两种方法可以做到这一点。
第一个是获取输入触摸屏位置并检查 x 轴上的位置是否在 nots 的 4 个隔间之一中。你可以用这个
第二,您实际上可以使用 Unity 的 UI 按钮,它们适用于所有平台。因此,您可以在 PC 上进行测试并上传到您的手机,使其以相同的方式工作。
希望这对您有所帮助!
推荐阅读
- c# - 使用具有完全运动学接触的运动学刚体与 oncollisionenter2d 不起作用
- html - 为什么 g-recaptcha 不显示在下拉菜单中?
- c# - 我想用 Outlook365 加载项为邮件编辑屏幕上的发送按钮着色
- java - 绘制表格 10x10 并在表格中显示素数
- javascript - 在 html 代码中使用动态变量调用函数
- java - 从中序数组和前序数组构造二叉树
- go - 解组多种类型的 YAML 数组
- angular - Angular DI - 如何在防护/停用防护中注入通用组件提供的服务
- reactjs - 获取 IDE 中自动建议的 React 组件名称
- azure-ad-b2c - IEF - 在初始 SelfAssertedAttributeProvider 中设置默认值 - 作为 OutputClaim 传递到旅程的下一步不起作用