Событие AS3 для нескольких файлов - PullRequest
0 голосов
/ 28 января 2011

Я мигрирую с AS2 на AS3, и у меня возникла эта проблема.

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

_global.onAnimationEnd(mc:MovieClip){...}

, а в анимации (может быть вложенной) я просто назвал ее так:

onAnimationEnd(this);

Я новичок вAS3, но почему-то в AS3 правильно использовать систему событий, но у меня проблемы с этим.Есть ли кто-нибудь, кто может помочь с такой простой (AS2) проблемой?

Ответы [ 2 ]

0 голосов
/ 16 февраля 2011

Наконец, я использую этот подход:

  • Я использую пользовательское событие, например:

    package com.oldes {
        import flash.events.Event;
        public class GameEvent extends Event {
             public var data:Object;
             public static var ANIMATION_END = "onAnimationEnd";
             public function GameEvent(
                 type:String,
                 data: Object,
                 bubbles:Boolean=true,
                 cancelable:Boolean=false
            ){
                 super(type, bubbles, cancelable);
                 this.data = data;
            }
            override public function clone():Event {
                return new GameEvent (type, data, bubbles, cancelable);
            }
        }
    }
  • В своих вложенных анимациях я заменил:

onAnimationEnd(this);

с:

import com.oldes.GameEvent;
dispatchEvent(new GameEvent(GameEvent.ANIMATION_END,{anim: this}));
  • Использование классических слушателей для обработки кэшированного события.

EDIT: внешнийфайл с анимацией должен быть правильно загружен в правильный контекст, но это уже другая история AS3.

0 голосов
/ 28 января 2011

Способ, которым AS3 обрабатывает события, совершенно отличается от подхода AS2. В событиях AS3 всплывают иерархии объектов, а затем возвращаются к исходному объекту. Если у вас есть объекты, расположенные дальше по иерархии, которые необходимы для ответа на событие, необходимо настроить прослушиватели событий на объектах-получателях для обработки события по мере его появления.

Книга Колина Мука «Essential ActionScript 3.0», опубликованная О'Рейли, раскрывает ее всесторонне. Не очень много, если вам нужно быстрое решение прямо сейчас, хотя ...

...