Как загрузить SWF, скомпилированный Flex, в SWF, скомпилированный Flash CS4

Я скомпилировал простой проект AS3, используя Flex 3.5 (также пробовал Flex 4.1), чтобы создать небольшой swf, который рисует на экране простой красный квадрат. Ничего слишком сложного, требующего специальной поддержки flashplayer (см. Код ниже)

package  
{
    import flash.display.Sprite;

    /**
     * @author John Lindquist
     */
    [SWF(width="1024", height="768", frameRate="24")]
    public class EasingATimeline extends Sprite 
    {
        private var square:Sprite;
        private static const STEP_DURATION:Number = 1;

        public function EasingATimeline()
        {
            square = new Sprite();  
            square.graphics.beginFill(0xcc0000);
            square.graphics.drawRect(0, 0, 50, 50);
            square.graphics.endFill();

            square.x = 100;
            square.y = 50;

            addChild(square);
        }
    }
}

и попытался загрузить его в AS2 swf, который я скомпилировал с помощью Flash CS4. Но это просто не сработало. Я не получаю никаких ошибок при загрузке, и AS2 swf может загружать любой swf, скомпилированный в AS2 или AS3 с помощью Flash.

Любые идеи?


person RaamEE    schedule 03.04.2011    source источник


Ответы (1)


Конструктор Flex / Flash предназначен только для as3. Таким образом, вы не можете загрузить его в as2 swf. Однако вы можете создать новый файл as3 во флэш-памяти и загрузить как as2 swf, так и свой гибкий swf и расположить их соответствующим образом. Загрузка swfs в as3 очень проста:

var as2:Loader = new Loader();
as2.load(new URLRequest("myAS2Thing.swf"));
as2.addEventListener(Event.COMPLETE, onDoneLoadingAS2);
function onDoneLoadingAS2(e:Event):void{
 as2.x = 100;
 as2.y = 100;
  addChild(as2);
}
person Zevan    schedule 03.04.2011
comment
Я ожидал, что пока плеер поддерживает это (AKA FP9 или выше), вы сможете загружать любой SWF. Но я никогда не пробовал. Ознакомьтесь с этим kb2.adobe.com/cps/141/tn_14190.html для получения информации о том, как загружать внешние SWF-файлы с использованием AS2 и AS3. Откуда AS2 SWF узнает, как SWF, который он загружает, использует AS3? И какое это имеет значение? - person JeffryHouser; 04.04.2011