Я пытаюсь создать сценарий выбора объекта в единстве.Почему мой объект не заполнен
Что нужно сделать, когда я навешиваю на объект его красный цвет (и он делает), и когда я нажимаю «1», GameObject's targetHighlighted
будет заполнен объектом, на котором я паря в тот момент. В Debug.Log
все это прекрасно работает, targetHighlighted
заполнено.
Когда я нажимаю «1», однако объект targetHighlighted
по-прежнему остается пустым. Не имеет значения, нажимаю ли я его при наведении курсора на объект или от него.
Весь мой код намного шире, чем этот. Но этот раздел кода содержит проблему, поэтому я уменьшил ее до этого.
Может ли кто-нибудь объяснить мне, как прийти, когда я нажимаю «1», Debug.Log
не показывает targetHighlighted
или targetSelected
?
В основном, почему mouseenter
и mouseexit
ведут регистрацию вправо Объект, но функции setTarget
нет?
using UnityEngine;
using System.Collections;
public class TargetSelectionScript: MonoBehaviour {
// Store the current selected gameobject
GameObject targetHighlighted;
Renderer rend;
Color initialColor = Color.white;
Color selectedColor = Color.red;
public GameControllerScript gameController;
void Start() {
}
void Update() {
if (Input.GetKeyDown("1")) {
SetTarget();
}
}
void OnMouseEnter() {
SelectTarget();
}
void OnMouseExit() {
ClearTarget();
}
void SelectTarget() {
RaycastHit hitInfo = new RaycastHit();
Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hitInfo);
targetHighlighted = hitInfo.transform.gameObject;
rend = targetHighlighted.GetComponent <Renderer>();
rend.material.color = selectedColor;
Debug.Log("Highlighted target: " + targetHighlighted);
}
void ClearTarget() {
Debug.Log(targetHighlighted);
}
void SetTarget() {
Debug.Log(targetHighlighted);
}
}
Благодарности к вы ответили, но это не так. Если я нажму 1, я получу debug.log в консоли, только не значение fortargetHighlighted – Derooie
, что он регистрирует? – maksymiuk
gameobject мыши входит и выходит. так как я только заполняю значение targetHighlighted и никогда не очищаю его (там только debug.log), я ожидаю, что gameobject будет возвращен также при нажатии «1». Добавлена запись в журнал, но с пустым игровым объектом вместо заданного игрового объекта. – Derooie