У меня есть образовательная игра, в которой дети слышат звук, а затем должны выбрать правильное изображение из 3-х изображений.AS3 CS5 Как обновить сцену после SOUND_COMPLETE?
Когда они снова услышат звук, они могут нажать кнопку динамика. 3 изображения - мувиклипы (названные card1, card2 и card3), динамически добавленные к сцене, с кнопкойMode = true.
Каждый раз, когда они нажимают на динамик, чтобы снова услышать звук или получить обратную связь, если они нажимают неправильное изображение, я удаляю mouse_events с карт на время звучания. Я также устанавливаю buttonMode = false, поэтому дети знают, что они не смогут щелкнуть во время воспроизведения звука.
В SOUND_COMPLETE я снова добавляю eventListeners. Теперь buttonMode = true снова.
Я хочу сделать обновление экрана, например event.updateAfterEvent(); поэтому курсор меняется на руку, если они поместили его на одну из карт. НО event.updateAfterEvent() не может быть присоединен к SOUND_COMPLETE, вы можете использовать его только после события взаимодействия, такого как MOUSE или GESTURE.
tldr; Как я могу обновить свою сцену, чтобы курсор сменился на руку после SOUND_COMPLETE?
Here's часть кода:
function speakerClick(event:MouseEvent):void
{
remLst();
SoundMixer.stopAll();
cardCnl = gameSnd.play();
cardCnl.addEventListener(Event.SOUND_COMPLETE, sndComplete);
}
function sndComplete(event:Event):void
{
cardCnl.removeEventListener(Event.SOUND_COMPLETE, sndComplete);
addLst();
}
function addLst():void
{
for (var i:int = 1; i < 4; i++)
{
var card:Card = getChildByName("card" + i) as Card;
card.addEventListener(MouseEvent.CLICK, fnClick);
card.addEventListener(MouseEvent.MOUSE_OVER, fnOver);
card.addEventListener(MouseEvent.MOUSE_OUT, fnOut);
card.buttonMode = true;
}
}
полностью удалить объекты и снова добавить их на сцену. Это может решить ваш зонд, но не лучший, но может помочь. – ymutlu
Если бы ответ ниже работал бы, я бы пошел с вашим предложением. Моя игра не сложна, и для нее важнее работать, чем иметь идеальный код. Тем не менее, TheSHEEP придумал отличный ответ, поэтому вы можете его проверить :) – silvith