Тема: Click to continue
Показать сообщение отдельно
Старый 05.12.2017, 17:22
Appleman вне форума Посмотреть профиль Отправить личное сообщение для Appleman Найти все сообщения от Appleman
  № 1  
Ответить с цитированием
Appleman
 
Аватар для Appleman

Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 483
По умолчанию Click to continue

Друзья!
Уже где-то кратко спрашивал и даже получил ответ, но в упор не могу найти. Да и многое прояснилось с тех пор, могу уже на чуть более адекватном уровне задать вопрос.

Итак, в определённые моменты мне нужно, чтобы перед продолжением выполнения пользователь мог спокойно прочитать/просмотреть всю инфо и кликнуть для продолжения. На первый взгляд, ничего сложного, но дьявол как всегда в деталях.

Сделал класс ClickToContinue, который выводит на экран соответствующий текст и ждёт клика. Вот ключевые фрагменты его кода:

Код AS3:
public class ClickToContinue extends Sprite
	{	
		public function ClickToContinue()
		{
			this.addChild(_cont);
			_cont.addChild(_field);
			_cont.addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
		}
 
		private function addedToStageHandler(event:Event):void 
		{
			_cont.removeEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
			_cont.stage.mouseChildren = false;
			_cont.stage.addEventListener(MouseEvent.CLICK, stageClickHandler);
		}
 
		private function stageClickHandler(event:MouseEvent):void 
		{
			trace("CLICK");
			_cont.stage.mouseChildren = true;
			_cont.stage.removeEventListener(MouseEvent.CLICK, stageClickHandler);
			_cont.removeChild(_field);
		}
}
Вопросы такие:
1. Чую, что опять на святое - на stage покушаюсь. Как без неё обойтись можно в таком случае? Я планировал отключать все остальные функции до клика пользователя и ловить клик по любому месту приложения.
2. На практике есть ещё одна проблема. У меня выводится некий диалог, где пользователь выбирает один из вариантов. Дальше Модель считает, Вью обновляет, а дальше как раз и нужно вывести "ClickToContinue". Так вот, получается, что тот клик, которым пользователь выбрал опцию в диалоге, уже "засчитывается" как клик для продолжения. Несколько раз тестировал Как с этим бороться?
3. Не могу понять, что привязывать к клику от пользователя (видите, пока просто вывод "CLICK"). Ведь того, ЧТО КОНКРЕТНО требуется продолжить, великое множество, а класс и пользовательский вывод - один. Как настраивать остальные элементы MVC для использование подобной конструкции?

Спасибо.