Создание точки и касания игры, когда пользователь нажимает на что-то интерактивное, будет отображаться колесо принятия решений, которое дает 3 варианта. Действие, чат или исследование. Я централизовал все вокруг основного обработчика. Так что если это интерактивный объект, создайте новое колесо принятия решений и добавьте слушателя, когда будет принято решение, чтобы затем вызвать «Продолжить с помощью решения». Перед тем, как он будет показан, я добавлю темную накладку, чтобы пользователь не мог вмешиваться в что-либо на экране, пока не будет принято решение.Starling Отправление новых объектов при принятии решения
Любые предложения по лучшему подходу к этому? Очевидно, что каждый раз я знаю, что каждый раз создаю новый объект, а затем вызываем removeFromParent (true) каждый раз, когда он заканчивается, это плохая идея для производительности.
Передаваемый объект содержит атрибуты объекта, который был затронут. Такие, как id и x и y, поэтому я знаю, где позиционировать решающее колесо на экране.
Мой главный вопрос: Как настроить его, так что у меня есть только один объект решения, вместо того чтобы повторно создавать новый экземпляр каждый раз, когда что-то прикасается?
override protected function createDecisionWheel(object:Object):void
{
if (!GameState.AWAITING_DECISION) {
//create bg overlay
_overlay = new Overlay();
addChild(_overlay);
//waiting for decision from user
GameState.AWAITING_DECISION = true;
_decisionWheel = new DecisionWheel(object);
addChild(_decisionWheel);
_decisionWheel.x = _decisionWheel.positionDecisionWheelX(object._x, _backgroundPosition);
_decisionWheel.y = _decisionWheel.positionDecisionWheelY(object._y, _backgroundPosition);
addEventListener("DecisionMade", proceedWithDecision);
}
}
override protected function proceedWithDecision(e:Event):void
{
removeEventListener("DecisionMade", proceedWithDecision);
//remove once decision has been made @TODO
_decisionWheel.removeDecisionWheel();
_overlay.removeOverlay();
//reset
GameState.AWAITING_DECISION = false;
trace("proceed with decision");
}
не уверен, что вы просите. Вы спрашиваете о touchable = false? – mika
обновил сообщение с основным вопросом :) – SMKS