2009-07-16 23 views
0

私はFlashムービーにオブジェクトを描画するために外部クラスを使用していますが、クラスからもいくつかの変数を取得する必要があります。外部クラスから変数を取得

変数persPoints[0].xを私のメイン文書の変数、例えばnewvarとしたいと思います。

これは私が

class Shape { 

function set2DTo3D():Void { 
     var persPoints:Array = new Array(); 
     for (var i:Number = 0; i < this.pointsArray.length; i++) { 
      persPoints[i] = new Object(); 
      this.perspectief = this.scaleValue/(this.scaleValue - this.pointsArray[i].z); 
      persPoints[i].x = this.pointsArray[i].x * this.perspectief; 
      persPoints[i].y = this.pointsArray[i].y * this.perspectief; 
     } 
     this.draw(persPoints); 
    } 
} 

を使用していますそして、何とか私は以下の私の.flaの私onEnterFrame関数にその変数を取得する必要があります外部クラスの一部です。

var kubusMC:MovieClip = this.createEmptyMovieClip("kubusMC", 0); 
kubusMC._x = Stage.width/2;//plaats de mc in het midden 
kubusMC._y = Stage.height/2; 

var kubus:Shape = new Shape(punten, kubusMC, 300, 1, 0x222222, 85); 


this.onEnterFrame = function() { 


} 

どのようにですか?

答えて

0

persPoints配列をset2DTo3D関数の外に移動してクラスインスタンスのメンバーにするだけで、変更する必要があります。これと同じように:

class Shape { 

    var persPoints:Array = new Array(); 

    function set2DTo3D():Void 
    { 
     for (var i:Number = 0; i < this.pointsArray.length; i++) 
     { 
      persPoints[i] = new Object(); 
      this.perspectief = this.scaleValue/(this.scaleValue - this.pointsArray[i].z); 
      persPoints[i].x = this.pointsArray[i].x * this.perspectief; 
      persPoints[i].y = this.pointsArray[i].y * this.perspectief; 
     } 

     this.draw(persPoints); 
    } 
} 

persPointsは、インスタンスメンバとして利用可能であることを、あなたはあなたのonEnterFrame機能にアクセスすることができます:

var kubusMC:MovieClip = this.createEmptyMovieClip("kubusMC", 0); kubusMC._x = Stage.width/2;//plaats de mc in het midden kubusMC._y = Stage.height/2; 

var kubus:Shape = new Shape(punten, kubusMC, 300, 1, 0x222222, 85); 

this.onEnterFrame = function() 
{ 
    var value = kubus.persPoints[0].x; 

    trace("x value of kubus.persPoints[0]: " + value); 
} 
+0

は私が千回ありがとう、何を言うことができます:) –

関連する問題