从类AS3引用目标文件中的变量

时间:2014-05-19 06:52:41

标签: actionscript-3 flash class variables containers

我整天都在研究这个问题而且我被困住了!我想知道如何使用目标路径中的变量来移动某些东西。这是代码:

//  Target file
var speed:int = Number(1);
var container:MovieClip = new MovieClip;
var objects:Objects = new Objects();
container.addChild(objects);

//  Class for Objects
package  {
import flash.display.MovieClip;
public class Objects extends MovieClip {        
public function Objects() {
this.x += speed;
trace(this.x);
        }
    }
}

当我运行它时,我收到如下错误:

Objects.as, Line 6 1120: Access of undefined property speed.

谢谢!

1 个答案:

答案 0 :(得分:0)

最简单的方法是将speed变量传递给该类。看,类就像空间中的独立对象,他们(大多数)彼此不了解,或者至少他们不知道你在其中定义的变量。

因此,如果您在另一个(new Objects())内创建一个类,最简单的方法是:

var objects:Objects = new Objects(speed);

然后,在Objects类中,您将拥有:

public class Objects extends MovieClip {       

    var _speed:Number;

    public function Objects(speed:Number) {
        _speed = speed; // save it to a local member variable
        this.x += _speed;
        // start working with the local one,
        // which will be accessible in the whole class
    }

它就像传递一些定义的值,以便类可以使用它们。并且类将它们保存在自身内部,因此可以在整个文件(范围)中使用它。