2014-10-15 2 views
0

Я пытаюсь создать что-то вроде менеджера Assets, где я бы вставлял кучу изображений в один класс, а затем передавал их другим классам для дальнейшего использования. Проблема в том, что после выполнения всей работы изображения просто не появляются, не все из них. Из 41 изображений я получаю около 23, чтобы отобразить/отобразить правильно. Я triple проверил весь код, попробованный как в Flashdevelop, так и в Flash Professional, попытался добавить каждое изображение в свой собственный MovieClip или Sprite, прежде чем добавлять их на сцену, попытался добавить их один за другим с помощью метода addChild (без использования для цикла) и до сих пор нет успех ... Также нет ошибки компиляции (ни синтаксиса).as3 встроенные изображения не отображаются

Есть ли что-то вроде «максимального количества встроенных изображений» для flashdevelop или flash professional?

Вот код:

package 
{ 
    import flash.display.Bitmap; 
    import flash.display.BitmapData; 
    import flash.display.MovieClip; 
    import flash.display.Sprite; 

public class AssetsLoader extends MovieClip 
{ 
    [Embed(source = "assets/map800x500.jpg")] private var _layer0Class:Class; public var layer0:Bitmap = new _layer0Class(); 

    [Embed(source = "assets/al/AFR_01.png")] private var AFR_01_Class:Class; public var AFR_01:Bitmap = new AFR_01_Class() as Bitmap; 
    [Embed(source = "assets/al/AFR_02.png")] private var AFR_02_Class:Class; public var AFR_02:Bitmap = new AFR_02_Class() as Bitmap; 
    [Embed(source = "assets/al/AFR_03.png")] private var AFR_03_Class:Class; public var AFR_03:Bitmap = new AFR_03_Class() as Bitmap; 
    [Embed(source = "assets/al/AFR_04.png")] private var AFR_04_Class:Class; public var AFR_04:Bitmap = new AFR_04_Class() as Bitmap; 
    [Embed(source = "assets/al/AFR_05.png")] private var AFR_05_Class:Class; public var AFR_05:Bitmap = new AFR_05_Class() as Bitmap; 
    [Embed(source = "assets/al/AFR_06.png")] private var AFR_06_Class:Class; public var AFR_06:Bitmap = new AFR_06_Class() as Bitmap; 

    [Embed(source = "assets/al/ASI_01.png")] private var ASI_01_Class:Class; public var ASI_01:Bitmap = new ASI_01_Class() as Bitmap; 
    [Embed(source = "assets/al/ASI_02.png")] private var ASI_02_Class:Class; public var ASI_02:Bitmap = new ASI_02_Class() as Bitmap; 
    [Embed(source = "assets/al/ASI_03.png")] private var ASI_03_Class:Class; public var ASI_03:Bitmap = new ASI_03_Class() as Bitmap; 
    [Embed(source = "assets/al/ASI_04.png")] private var ASI_04_Class:Class; public var ASI_04:Bitmap = new ASI_04_Class() as Bitmap; 
    [Embed(source = "assets/al/ASI_05.png")] private var ASI_05_Class:Class; public var ASI_05:Bitmap = new ASI_05_Class() as Bitmap; 
    [Embed(source = "assets/al/ASI_06.png")] private var ASI_06_Class:Class; public var ASI_06:Bitmap = new ASI_06_Class() as Bitmap; 
    [Embed(source = "assets/al/ASI_07.png")] private var ASI_07_Class:Class; public var ASI_07:Bitmap = new ASI_07_Class() as Bitmap; 
    [Embed(source = "assets/al/ASI_08.png")] private var ASI_08_Class:Class; public var ASI_08:Bitmap = new ASI_08_Class() as Bitmap; 
    [Embed(source = "assets/al/ASI_09.png")] private var ASI_09_Class:Class; public var ASI_09:Bitmap = new ASI_09_Class() as Bitmap; 
    [Embed(source = "assets/al/ASI_10.png")] private var ASI_10_Class:Class; public var ASI_10:Bitmap = new ASI_10_Class() as Bitmap; 
    [Embed(source = "assets/al/ASI_11.png")] private var ASI_11_Class:Class; public var ASI_11:Bitmap = new ASI_11_Class() as Bitmap; 

    [Embed(source = "assets/al/AUS_01.png")] private var AUS_01_Class:Class; public var AUS_01:Bitmap = new AUS_01_Class() as Bitmap; 
    [Embed(source = "assets/al/AUS_02.png")] private var AUS_02_Class:Class; public var AUS_02:Bitmap = new AUS_02_Class() as Bitmap; 
    [Embed(source = "assets/al/AUS_03.png")] private var AUS_03_Class:Class; public var AUS_03:Bitmap = new AUS_03_Class() as Bitmap; 
    [Embed(source = "assets/al/AUS_04.png")] private var AUS_04_Class:Class; public var AUS_04:Bitmap = new AUS_04_Class() as Bitmap; 

    [Embed(source = "assets/al/EUR_01.png")] private var EUR_01_Class:Class; public var EUR_01:Bitmap = new EUR_01_Class() as Bitmap; 
    [Embed(source = "assets/al/EUR_02.png")] private var EUR_02_Class:Class; public var EUR_02:Bitmap = new EUR_02_Class() as Bitmap; 
    [Embed(source = "assets/al/EUR_03.png")] private var EUR_03_Class:Class; public var EUR_03:Bitmap = new EUR_03_Class() as Bitmap; 
    [Embed(source = "assets/al/EUR_04.png")] private var EUR_04_Class:Class; public var EUR_04:Bitmap = new EUR_04_Class() as Bitmap; 
    [Embed(source = "assets/al/EUR_05.png")] private var EUR_05_Class:Class; public var EUR_05:Bitmap = new EUR_05_Class() as Bitmap; 
    [Embed(source = "assets/al/EUR_06.png")] private var EUR_06_Class:Class; public var EUR_06:Bitmap = new EUR_06_Class() as Bitmap; 
    [Embed(source = "assets/al/EUR_07.png")] private var EUR_07_Class:Class; public var EUR_07:Bitmap = new EUR_07_Class() as Bitmap; 

    [Embed(source = "assets/al/NAM_01.png")] private var NAM_01_Class:Class; public var NAM_01:Bitmap = new NAM_01_Class() as Bitmap; 
    [Embed(source = "assets/al/NAM_02.png")] private var NAM_02_Class:Class; public var NAM_02:Bitmap = new NAM_02_Class() as Bitmap; 
    [Embed(source = "assets/al/NAM_03.png")] private var NAM_03_Class:Class; public var NAM_03:Bitmap = new NAM_03_Class() as Bitmap; 
    [Embed(source = "assets/al/NAM_04.png")] private var NAM_04_Class:Class; public var NAM_04:Bitmap = new NAM_04_Class() as Bitmap; 
    [Embed(source = "assets/al/NAM_05.png")] private var NAM_05_Class:Class; public var NAM_05:Bitmap = new NAM_05_Class() as Bitmap; 
    [Embed(source = "assets/al/NAM_06.png")] private var NAM_06_Class:Class; public var NAM_06:Bitmap = new NAM_06_Class() as Bitmap; 
    [Embed(source = "assets/al/NAM_07.png")] private var NAM_07_Class:Class; public var NAM_07:Bitmap = new NAM_07_Class() as Bitmap; 
    [Embed(source = "assets/al/NAM_08.png")] private var NAM_08_Class:Class; public var NAM_08:Bitmap = new NAM_08_Class() as Bitmap; 
    [Embed(source = "assets/al/NAM_09.png")] private var NAM_09_Class:Class; public var NAM_09:Bitmap = new NAM_09_Class() as Bitmap; 

    [Embed(source = "assets/al/SAM_01.png")] private var SAM_01_Class:Class; public var SAM_01:Bitmap = new SAM_01_Class() as Bitmap; 
    [Embed(source = "assets/al/SAM_02.png")] private var SAM_02_Class:Class; public var SAM_02:Bitmap = new SAM_02_Class() as Bitmap; 
    [Embed(source = "assets/al/SAM_03.png")] private var SAM_03_Class:Class; public var SAM_03:Bitmap = new SAM_03_Class() as Bitmap; 
    [Embed(source = "assets/al/SAM_04.png")] private var SAM_04_Class:Class; public var SAM_04:Bitmap = new SAM_04_Class() as Bitmap; 

    public var allTerritories:Array = [AFR_01, AFR_02, AFR_03, AFR_04, AFR_05, AFR_06, 
             ASI_01, ASI_02, ASI_03, ASI_04, ASI_05, ASI_06, ASI_07, ASI_08, ASI_09, ASI_10, ASI_11, 
             AUS_01, AUS_02, AUS_03, AUS_04, 
             EUR_01, EUR_02, EUR_03, EUR_04, EUR_05, EUR_06, EUR_07, 
             NAM_01, NAM_02, NAM_03, NAM_04, NAM_05, NAM_06, NAM_07, NAM_08, NAM_09, 
             SAM_01, SAM_02, SAM_03, SAM_04]; 

    public var alphaContainer:MovieClip = new MovieClip(); 

    public function AssetsLoader() 
    { 
     for (var i:int = 0; i < allTerritories.length; i++) 
     { 
      alphaContainer.addChild(allTerritories[i]); 
      alphaContainer.getChildAt(i).alpha = 1; 
     } 
    } 
} 
} 

В другом классе я добавляю «alphaContainer» на сцене:

package 
{ 
    import flash.display.MovieClip; 
    import flash.display.Sprite; 
    import flash.events.Event; 

    [SWF(width = "800", height = "500", backgroundColor = "#222222", frameRate = "60")] 
    public class GameMap extends MovieClip 
    { 
     public var map:AssetsLoader = new AssetsLoader(); 

     public function GameMap() 
     { 
      if (stage) init(); 
      else addEventListener(Event.ADDED_TO_STAGE, init); 

     } 

     private function init():void 
     { 
      removeEventListener(Event.ADDED_TO_STAGE, init); 
      addChild(map.alphaContainer); 
     } 
    } 
} 
+0

Вы уверены, что эти изображения просто накладываются друг на друга, и, следовательно, вы не можете их видеть? – DodgerThud

+0

все изображения находятся в формате png с прозрачностью, и все они предварительно сделаны в фотошопе точно, чтобы поместиться во весь кадр без перекрытия, а в фотошопе они выглядят отлично. поэтому я не думаю, что это так ... потому что я пару дней об этом проголодался, я думаю, что это имеет какое-то отношение к ограничениям Flash Bitmap (http://helpx.adobe.com/flash -player/kb/size-limits-swf-bitmap-files.html), но я не уверен ... – user3059209

ответ

0

я когда-то была аналогичная проблема, и когда я бегу мой SWF в отладчик, оказалось, что некоторая библиотека времени выполнения отсутствует, что требуется для загрузки встроенного контента. Это было связано с предупреждением компилятора, который появился в моей командной строке при компиляции:

Warning: This compilation unit did not have a factoryClass specified in Frame metadata to load the configured runtime shared libraries. To compile without runtime shared libraries either set the -static-link-runtime-shared-libraries option to true or remove the -runtime-shared-libraries option. 

Когда я добавил опцию -static-link-runtime-shared-libraries, он начал работать.

Возможно, причиной вашей проблемы является то же самое?

Смежные вопросы