Unity 5: вид игры - время выполнения - проблема с SpaceBar - PullRequest
0 голосов
/ 09 сентября 2018

Просмотр игры - Дисплей камеры

Когда я нажимаю пробел, чтобы игрок прыгнул, всплывающее меню «Дисплей» всплывает, и игрок не прыгает. Тем не менее, игрок может перемещаться при любом нажатии клавиш.

Вот информация, которая у меня есть:

1) Все работало и функционировало правильно.

2) Я добавил планку здоровья своему боссу.

3) Я создал второй холст (Первый холст был для HP моего игрока).

4) Я сделал режим рендеринга босса HP: World Space.

5) Я прикрепил холст к контроллеру босса в иерархии как ребенок.

6) Код, который я использую для перехода игрока, - это Input.GetKeyDown (KeyCode.Space).

7) Во время тестирования SpaceBar Jump курсор мыши находится внутри игрового вида.

8) Я разрабатываю в Unity 2018 5.3 2D режиме.

Официальный вопрос (ы):

1) Почему пробел вызывает всплывающее меню дисплея камеры?

2) Как это исправить?

Редактировать / Дополнительный контент:

Вот мой скрипт Jump

 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.

The Boss character, the Boss canvas, the Yellow back ground image, and the blue foreground Filler image

Boss Canvas Render settings(Inspector)

Boss With enlarged HP bar so you can see that it is attached and works

1 Ответ

0 голосов
/ 09 сентября 2018

Кажется, это известная проблема с некоторыми версиями 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, если она не самая последняя? У меня нет этой проблемы, но, очевидно, многие другие пользователи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...