android - Unity 触控在一秒钟内至少工作 5-6 次
问题描述
我正在尝试在我当前的 Unity 项目中实现触摸控制。我目前正在尝试执行这行代码,但我发现 fps 已显着下降,并且它执行的有关触摸控件的行超出了我的预期。
for(int i=0;i<Input.touchCount;i++)
{
Debug.log("Touched");
}
我对此感到好奇,有没有更有效的方法可以从用户那里获得 IOS 和 Android 的触摸输入,谢谢。
解决方案
我想你在你的更新函数中使用了这个。你需要这样做:
void Update()
{
if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0);
if (touch.phase == TouchPhase.Began)
{
Debug.Log("Touched");
}
}
}
这样,它只会在开始时被调用一次。
你这样做的方式是“当屏幕被触摸时,在日志中打印'触摸'”。
如果你想用很多手指做,你可以做
void Update()
{
if (Input.touchCount > 0)
{
int countTouches = Input.touchCount;
for (int i = 0; i < countTouches; i++)
{
if (Input.GetTouch(i).phase == TouchPhase.Began)
{
Debug.Log("Touched");
}
}
}
}
推荐阅读
- python - 将具有相似索引但不相等级别的数据帧相乘
- vue.js - 从 Web API 导入 amChart 数据时出现 Vue.js 错误
- ansible - Ansible:删除嵌套循环中的最后一个逗号?
- python - 使用 Python 脚本将图像上传到 Slack 频道
- java - 使用 Univocity 将 bean 注释到部分记录
- php - 使用 php 返回码 77 执行系统命令
- linux - 试图在目录中安装 express mysql 但无法这样做
- reactjs - 如何在 reactjs 中使用刷新令牌
- javascript - 在 node.js express 中返回响应的正确方法是什么?
- python - python中带有分析权重的回归