我整天都在研究这个问题而且我被困住了!我想知道如何使用目标路径中的变量来移动某些东西。这是代码:
// 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.
谢谢!
答案 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
}
它就像传递一些定义的值,以便类可以使用它们。并且类将它们保存在自身内部,因此可以在整个文件(范围)中使用它。