我正在创建一个jetpack (移动)控制器,其中左操纵杆用于控制向前和向后移动,右操纵杆用于控制旋转和向上移动。我想要的是当用户触摸正确的操纵杆时,玩家向上移动,即使水平和垂直轴都返回零。因此,如果有一根手指在右边的操纵杆上,播放器就会弹出类似于GetButton或GetKey(一些关键代码)。
发布于 2016-10-31 06:58:35
希望这对将来的某人有所帮助:
我发现有OnPointerUp和OnPointerDown方法可以用来检查是否按下了操纵杆。对我来说,使用这些工具最简单的方法是在标准资产>实用工具> Joystick.cs中更改一些内容。下面是这些方法在我修改后的样子:
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布尔值,以检查是否按下了操纵杆,即使它没有移动。
https://stackoverflow.com/questions/40323689
复制相似问题