ActionScript 3 - 在外部类中使用MovieClip

时间:2015-01-14 15:01:25

标签: flash actionscript movieclip

ActionScript中的编码我发现了一个我无法解决的错误。我有一个带有库的Flash文件,其中我有一个名为" SpriteGraphic"的MovieClip对象。 (它的链接和它的类名也是" SpriteGraphic")

现在我有一个外部类,我希望在其中拥有该对象的实例:

    package {   

       import flash.display.Stage;
       import flash.geom.Point;
       import flash.display.MovieClip;

       public class Object 
       {        
           var spriteGraphic:SpriteGraphic;
           var velY:Number;
           var velX:Number;
           var IA:Number; 
           public function Object(posInit:Point, vel:Number , parAngle:Number, stageObj:Stage):void
           {
               spriteGraphic = new SpriteGraphic();             
               spriteGraphic.x = posInit.x;
               spriteGraphic.y = posInit.y;         
               trace(spriteGraphic.x);
               IA = parAngle;               
               velX = -vel * Math.cos(IA);
               velY = vel * Math.sin(IA);   
               stageObj.addChild(spriteGraphic);
          }
...

当我执行输出时,spriteGraphic为空。 如何使用库中的MovieClip,并在外部类中使用该类型的变量?

非常感谢!

没有人?真? :C

1 个答案:

答案 0 :(得分:0)

我假设Object是一个保留字。尝试为您的班级使用不同的名称。

同样,您的构造函数不应该有返回类型。虽然编译器不会警告您,但从技术上讲,将其键入void是错误的。

package {   

       import flash.display.Stage;
       import flash.geom.Point;
       import flash.display.MovieClip;

       public class MyObject 
       {        
           var spriteGraphic:SpriteGraphic;
           var velY:Number;
           var velX:Number;
           var IA:Number; 
           public function MyObject(posInit:Point, vel:Number , parAngle:Number, stageObj:Stage)
           {
               spriteGraphic = new SpriteGraphic();             
               spriteGraphic.x = posInit.x;
               spriteGraphic.y = posInit.y;         
               trace(spriteGraphic.x);
               IA = parAngle;               
               velX = -vel * Math.cos(IA);
               velY = vel * Math.sin(IA);   
               stageObj.addChild(spriteGraphic);
          }