首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unity 5:如何知道手指是否在操纵杆上,即使它处于水平和垂直零点

Unity 5:如何知道手指是否在操纵杆上,即使它处于水平和垂直零点
EN

Stack Overflow用户
提问于 2016-10-30 05:08:35
回答 1查看 846关注 0票数 0

我正在创建一个jetpack (移动)控制器,其中左操纵杆用于控制向前和向后移动,右操纵杆用于控制旋转和向上移动。我想要的是当用户触摸正确的操纵杆时,玩家向上移动,即使水平和垂直轴都返回零。因此,如果有一根手指在右边的操纵杆上,播放器就会弹出类似于GetButton或GetKey(一些关键代码)。

EN

回答 1

Stack Overflow用户

发布于 2016-10-31 06:58:35

希望这对将来的某人有所帮助:

我发现有OnPointerUp和OnPointerDown方法可以用来检查是否按下了操纵杆。对我来说,使用这些工具最简单的方法是在标准资产>实用工具> Joystick.cs中更改一些内容。下面是这些方法在我修改后的样子:

代码语言:javascript
复制
public void OnPointerUp(PointerEventData data)
{
    transform.position = m_StartPos;
    UpdateVirtualAxes(m_StartPos);

    if (data.rawPointerPress.name == "MobileJoystick_right") {
        rightJoystickPressed = false;
    }
}

public void OnPointerDown(PointerEventData data) {
    if (data.pointerEnter.name == "MobileJoystick_right") {
        rightJoystickPressed = true;
    }
}

所以基本上我只是添加了If语句。现在,我可以从任何其他脚本访问rightJoystickPressed布尔值,以检查是否按下了操纵杆,即使它没有移动。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40323689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档