c# - 简单的触摸控制
问题描述
我一直在我的电脑上测试我的游戏,用左右箭头,但我想把它切换到触摸控制。
我查看了一些教程,但有人说我需要从商店购买资产,否则它并不真正符合我的需求。
我只需要一些指导来指导我应该采取的最佳方向:)
这是我现在的控件代码,我想知道我是否可以使用 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;
}
}
解决方案
触摸左右半屏移动的代码
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;
}
}
}
}
推荐阅读
- python - 在 mac osx 上安装 linux 版本的 SQLalchemy?
- c++ - 为什么我的用于查找阶乘的 C++ 代码不起作用?
- php - OSTicket 通过 localhost/sendmail 发送电子邮件,即使我已指定要在设置中使用的 SMTP 服务器
- powershell - Powershell 和 WinSCP - 连接到 FTP 服务器
- django - 您将如何在 Django 中对此进行建模?
- regex - 在 Perl 中的多字符串正则表达式匹配中存在多个连字符的问题
- c - 我有一个不能在 Ubuntu 上运行的程序,但它在 Windows 上运行
- python - Seaborn Facet Grid:向每个 plt.plot facet 添加水平平均线
- android - 未找到 Android 发布的库 xml 属性 (AAPT)
- html - 如何使用 Bootstrap 4.3.1 版移动导航栏中的项目