2013-07-08 4 views
1

Привет, коллеги-программисты. Сначала я хотел бы сказать, что у меня была эта работа, прежде чем я попытался импортировать ее в свой основной класс, но теперь ее сломал .... Я просто пытаюсь для получения этого productselection class, связанного и работающего в barrelbuilder class, заблаговременно благодарим вас за любую помощь, поскольку я просто просматриваю diffFentent ошибки, пытаясь ее исправить.Попытка позвонить по специальному классу

BarrelBuilder.as 
package { 

import flash.net.*; 
import flash.display.MovieClip; 
import flash.events.Event; 
import flash.display.Loader; 
import flash.xml.*; 
import utils.ProductSelection; 


public class BarrelBuilder extends MovieClip{ 

    var PSelection:ProductSelection; 

public function BarrelBuilder():void 
    { 

     PSelection.ProductSelection(); 

    } 
} 

} 


ProductSelection.as 

package utils 
{ 

import flash.net.*; 
import flash.display.MovieClip; 
import flash.events.Event; 
import flash.display.Loader; 
import flash.xml.*; 


public class ProductSelection extends MovieClip{ 
    private static var columns:Number; 
    private static var my_x:Number; 
    private static var my_y:Number; 
    private static var my_thumb_width:Number; 
    private static var my_thumb_height:Number; 
    private static var my_images:XMLList; 
    private static var my_total:Number; 

    private static var container_mc:MovieClip; 

    private static var myXMLLoader:URLLoader = new URLLoader(); 



    public static function ProductSelections(stage:Object){ 
    init(stage); 

    } 

    public static function init(stage:Object) 
    { 
     myXMLLoader.load(new URLRequest("resources.xml")); 
     myXMLLoader.addEventListener(Event.COMPLETE, processXML(stage)); 


     function processXML (e:Event):void{ 
      var myXML:XML = new XML(e.target.data); 

      columns = [email protected]; 
      my_x = [email protected]; 
      my_y = [email protected]; 
      my_thumb_width = [email protected]; 
      my_thumb_height = [email protected]; 
      my_images = myXML.IMAGE; 
      my_total = my_images.length(); 

      createContainer(stage); 
      callThumbs(); 

      } 
    } 
    public static function createContainer(stage:Object):void{ 
     container_mc = new MovieClip(); 
     container_mc.x = my_x; 
     container_mc.y = my_y; 
     //container_mc.height = 50; 
     //container_mc.width = 140; 
     stage.addChild(container_mc); 
    } 
    public static function callThumbs():void{ 
     for (var i:Number = 0; i < my_total; i++){ 

     var thumb_url = my_images[i][email protected];; 
     var thumb_loader = new Loader(); 
     thumb_loader.load(new URLRequest(thumb_url)); 
     thumb_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, thumbLoaded); 

     thumb_loader.x = (my_thumb_width+10)*i; 
     } 
    } 
    public static function thumbLoaded(e:Event):void{ 
     var my_thumb:Loader = Loader(e.target.loader); 
     container_mc.addChild(my_thumb); 
     //my_thumb.addEventListener(Mouse.CLICK, thumb_Clicked); 
    } 

    //thumbClicked() 
    //{ 

    //} 
} 

} 

ответ

0

Попробуйте это:

PSelection = new ProductSelection(stage); 

будет работать, если BarrelBuilder ваш "Главная" класс.

Если не:

public function BarrelBuilder():void 
{ 
    addEventListener(Event.ADDED_TO_STAGE,onAddedToStage) 
} 
private function onAddedToStage(e:Event):void 
{ 
    removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage); 
    PSelection = new ProductSelection(stage); 
} 

Смотрите мое основное объяснение инициализации классов here

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