当我单击空格键以使播放器跳跃时,将弹出“显示”下拉菜单,并且播放器不会跳跃。但是,玩家可以在所有按键按下时移动。
这是我所拥有的信息:
1)一切正常运行。
2)我为老板添加了健康栏。
3)我创建了第二个画布(第一个画布用于播放机的HP)。
4)我制作了Boss HP条形渲染模式:World Space。
5)我从小将画布附加到层次结构中的boss控制器。
6)我用于播放器跳转的代码是Input.GetKeyDown(KeyCode.Space)。
7)在测试“空格键跳转”时,鼠标光标位于“游戏视图”中。
8)我正在Unity 2018 5.3 2D模式下进行开发。
正式问题:
1)为什么空格键导致出现相机显示下拉菜单?
2)我该如何解决?
编辑/其他内容:
这是我的跳转脚本
public float jump1 = 5.0f;
private bool onGround;
//private bool dblJump; //Not implemented yet
public Rigidbody player;
void Start () {
player = GetComponent<Rigidbody>();
onGround = true;
}
// Update is called once per frame
void Update () {
if (onGround == true) {
if (Input.GetKeyDown(KeyCode.LeftShift))// KeyCode.Space
{
player.velocity = new Vector3(0, jump1, 0);
onGround = false;
// Debug.Log("The onGround is False");
}
}
}
请记住,我已暂时将跳转更改为LeftShift。但是,我的问题仍然存在于空格键上,即使当我单击鼠标左键时也会出现空格。 SpaceBar似乎可以召唤摄像机显示的下拉菜单。 (我似乎无法通过屏幕截图捕捉到下拉菜单,因为单击后消失了) 另外请注意-我在一个名为PlayerJump的类中:MonoBehavior。
答案 0 :(得分:0)
在某些版本的Unity 5.3中,这似乎是一个已知问题,我有一些可以尝试的解决方案:
将此脚本附加到您的下拉元素中:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class DropdownScript : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler {
void Start()
{
dropDown = GetComponent<Dropdown>();
dropDown.interactable = false;
}
public void OnPointerEnter(PointerEventData ped)
{
dropDown.interactable = true;
}
public void OnPointerExit(PointerEventData ped)
{
dropDown.interactable = false;
}
}
如果不是最新版本,请更新您的Unity版本吗?我没有遇到这个问题,但是显然还有许多其他用户。