【问题标题】:Unity: Change Desktop Input.GetButtonDown("Jump") to Mobile Button PressUnity:将 Desktop Input.GetButtonDown("Jump") 更改为 Mobile Button Press
【发布时间】:2020-09-11 22:40:36
【问题描述】:

我已经创建了一个桌面 2D 平台游戏,它可以根据您使用 Input.GetButtonDown("Jump") 按下空格键的时间来动态跳跃(从最大跳跃到最大跳跃)。

我想创建我的游戏的移动版本。所以我只想就如何创建一个函数/方法来解决,该函数/方法在移动屏幕用户界面中按下按钮时返回与 Input.GetButtonDown("Jump") 相同的布尔值。

或者有人能解释一下 Input.GetButtonDown("Jump") 如何更深入地工作吗?就像按住空格键时将调用多少帧一样。这样我就可以制作这样的功能,但要用于移动按钮触摸。非常感谢。

编辑: 我已经尝试使用 Button 或 Input.GetTouch 中的 onClick 事件(在实际移动设备中测试),但使用空格键从桌面使用 Input.GetButtonDown("Jump") 时输出不同。当我使用 onClick 和 GetTouch 时,角色只会跳得很短。

【问题讨论】:

    标签: c# unity3d user-interface input mobile


    【解决方案1】:

    Input.GetButtonDown("Jump") 与调用Input.GetKeyDown(KeyCode.Space) 相同。 这些字符串在 Unity 项目设置中映射,您实际上可以在(编辑 -> 项目设置 -> 输入)更改它们的值。

    您可以使用需要使用 onClick 事件的 UI 按钮来实现相同的效果(玩家必须点击按钮),或者使用 Input.GetTouch 在屏幕上的任意位置点击屏幕

    【讨论】:

    • 我已经使用 onClick 事件或 Input.GetTouch 尝试过这种方式,但在使用 Input.GetButtonDown("Jump") 时输出不同。当我使用 onClick 和 GetTouch 时,角色只会跳得很短。
    • 那么你需要保持,通过TouchPhase,docs.unity3d.com/ScriptReference/TouchPhase.html检查触摸是否被按住
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    相关资源
    最近更新 更多