что такое dispatchEvent в Flash AS3?

Когда Вы открываете новый файл (с gf или : n или другая команда), старый файл остается в буферном списке. Можно перечислить открытые файлы с : ls

, Если Вы хотите перейти легко между буферами в энергии, можно создать отображение как это:

nmap <M-LEFT> :bN<cr>
nmap <M-RIGHT> :bn<cr>

Теперь можно переключиться между буферами с Высоким звуком + стрелка влево или Высокий звук + стрелка вправо.

подробная документация на отображениях здесь:

:help map.txt
8
задан coderex 6 December 2009 в 17:42
поделиться

2 ответа

An example might help? If you have Flash IDE, try this in your timeline:

var ball:Shape = new Shape();
ball.graphics.beginFill(0xFF0000);
ball.graphics.drawCircle(0, 0, 30);
ball.graphics.endFill();
addChild(ball);

stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListener);
addEventListener("myCustomEvent", myCustomEventListener);

function mouseMoveListener(event:MouseEvent):void
{
    dispatchEvent(new Event("myCustomEvent"));
}

function myCustomEventListener(event:Event):void
{
    ball.x = stage.mouseX;
    ball.y = stage.mouseY;
}

This is code demonstrates how the addEventListener and dispatchEvent are counterparts. The MOUSE_MOVE event is dispatched internally, but you can dispatch your own events just like the MOUSE_MOVE using dispatchEvent.

What happens in this code is that a MOUSE_MOVE from the stage is detected, but rather than handle that in the mouseMoveListener, you dispatch another event (called myCustomEvemt) which is handled in the myCustomEventListener instead. It works just like the MOUSE_MOVE event, only you dispatched the event instead of the flash player.

Hope this helps.

14
ответ дан 5 December 2019 в 07:58
поделиться

По сути, это механизм уведомления объектов о том, что что-то произошло. Когда вы отправляете событие, что-то должно прослушивать это событие.

По сути, это похоже на телефонный звонок (dispatchEvent (new CallEvent (CallEvent.CALL))). Если человека, которому вы пытаетесь позвонить, нет, значит, он не слушает телефонного разговора и ничего не может с этим поделать. Если они находятся в (addEventListener (CallEvent.Call, answerHandler)), они могут ответить на него, возможно, отправить его прямо на голосовую почту.

Чтобы получить полное изложение, попробуйте прочитать эту статью из Adobe.

http://www.adobe.com/devnet/actionscript/articles/event_handling_as3_02.html

Многие языки программирования используют события, поэтому с этим очень стоит разобраться.

Джеймс

Ответ на Edit1

Мне кажется, у вас есть метод, настроенный для обработки MouseEvent.Click где-нибудь на каком-то объекте. Когда это происходит, он устанавливает для свойства scaleX другого объекта значение 0 (делая его невидимым). Затем отправляется новое событие с типом "setVolume". Само по себе это ничего не даст. Возможно, где-то еще эта строка немного похожа на addEventListener ("setVolume", doSomethingMethod); . Когда запускается исходный метод (по-видимому, щелчок мышью), doSomethingMethod должен срабатывать.

Само по себе это ничего не даст. Возможно, где-то еще эта строка немного похожа на addEventListener ("setVolume", doSomethingMethod); . Когда запускается исходный метод (по-видимому, щелчок мышью), doSomethingMethod должен срабатывать.

Само по себе это ничего не даст. Возможно, где-то еще эта строка немного похожа на addEventListener ("setVolume", doSomethingMethod); . Когда запускается исходный метод (по-видимому, щелчок мышью), doSomethingMethod должен срабатывать.

3
ответ дан 5 December 2019 в 07:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: