Итак, я не знаю, что я что-то упускаю, но каким-то образом я работаю или смотрю на это, я не могу нажимать какие-либо кнопки на экранах.
Я сделал диалоговое окно с кнопкой по существукак показано в примерах проектов, но когда я пытаюсь нажать кнопку, ничего не происходит.Я попытался запустить OnClick программно, и он работает нормально, я также проверил, что входы мыши были зарегистрированы, и они были.Я в полной растерянности по любой причине, почему это не сработает.
Мой код класса ниже:
public class Interactable : UICanvas
{
public void interact()
{
var skin = Skin.createDefaultSkin();
var table = stage.addElement(new Table());
table.center();
table.setFillParent(true);
table.add(talk(this.entity.name, "Stay a while and glisten", "Bye!"));
}
public Dialog talk(string title, string messageText, string closeButtonText)
{
var skin = Skin.createDefaultSkin();
var style = new WindowStyle
{
background = new PrimitiveDrawable(new Color(50, 50, 50)),
//Dims the background
stageBackground = new PrimitiveDrawable(new Color(0, 0, 0, 150))
};
var dialog = new Dialog(title, style);
dialog.getTitleLabel().getStyle().background = new PrimitiveDrawable(new Color(55, 100, 100));
dialog.pad(20, 5, 5, 5);
dialog.addText(messageText);
var exitButton = new TextButton(closeButtonText, skin);
exitButton.onClicked += butt => dialog.hide();
dialog.add(exitButton);
return dialog;
}
}
}
interact()
вызывается при запуске к другой сущности и нажатии "E».Из-за этого все отображается правильно, но я не могу нажать на кнопку.
Дополнительно: когда я пытаюсь просмотреть координаты exitButton
, они всегда равны 0, независимо от того, что, хотя диалог появляется в середине окна.window
Версия моногейма: 3.7 Версия Nez: 0.9.2
ОБНОВЛЕНИЕ: Похоже, кнопки нажимаются, но их окно щелчка даже почти не совпадает с тем, где кнопки действительно отображаются.
ОБНОВЛЕНИЕ 2: Кажется, проблема в том, где кнопка отображается и где фактическое поле щелчка не совпадают.Я увеличил камеру на 2, и камера также следует моему маленькому персонажу.Диалоговое окно затем появится в X, Y относительно текущего вида камеры, но фактическое окно щелчка появится в X, Y в терминах TiledMap (который не всегда отображается на экране).Не слишком уверен, как обойти это.