У меня проблема при попытке нарисовать текстуру в графическом интерфейсе. Вот дефектный фрагмент в OnGUI()
:Проблема при рисовании OnGUI
var e = Event.current;
if (e.type == EventType.mouseDown)
{
Debug.Log("Mouse pressed");
GUI.DrawTexture(new Rect(e.mousePosition.x, e.mousePosition.y, 100, 110), ButtonTexture);
}
Я успешно получаю выход журнала, но не текстура не рисуется. Однако, если я использую это вне выражения if
, текстура следит за моей мышью без каких-либо проблем. Я общался с этим в течение двух часов, но не могу понять, что случилось. Любая помощь будет оценена по достоинству.
Редактировать: Кажется, какой-либо чертеж не работает, если условие является событием, однако никаких проблем со стандартом if(1>0)
. Я также попытался использовать Input.GetMouseDown
в качестве альтернативы, но такую же проблему.
, что происходит, когда вы 'debug.log (e.mousePosition);' – maksymiuk
Я получаю правильное положение мыши, без каких-либо проблем. Опять же, все идет гладко, если я использую ту же «DrawTexture» вне инструкции 'if'. – Augure
Что произойдет, если вы объявите 'Rect rect = new Rect (e.mousePosition.x, e.mousePosition.y, 100, 110);' * вне * оператора 'if', затем' GUI.DrawTexture (rect, ButtonTexture), 'внутри? – maksymiuk