flash中的MovieClip继承错误
我有一个名为flash中的MovieClip继承错误,flash,actionscript-3,Flash,Actionscript 3,我有一个名为Level的类,它继承了MovieClipLevel在设计器中有一个子项,其名称为gridView,并且gridView用于Level构造函数中。 我还有一个名为Level1的类,它继承了Level。当我尝试类似于addChild(new Level1())的方法时,我在Level构造函数中得到一个错误,即gridView为空。我做错了什么 代码的某些部分: public class Level extends MovieClip { public function Leve
Level
的类,它继承了MovieClip
Level
在设计器中有一个子项,其名称为gridView
,并且gridView
用于Level
构造函数中。我还有一个名为
Level1
的类,它继承了Level
。当我尝试类似于addChild(new Level1())
的方法时,我在Level
构造函数中得到一个错误,即gridView
为空。我做错了什么
代码的某些部分:
public class Level extends MovieClip
{
public function Level()
{
var matrix:Matrix = new Matrix();
matrix.translate(-250, -250);
matrix.rotate(Math.PI / 6);
matrix.scale(1, 0.5);
matrix.translate(250, 250);
gridView.transform.matrix = matrix; // error here referred from:
}
}
public class Level1 extends Level
{
public function Level1()
{
super();
}
}
addChild(new Level1()); // referred from here
addChild(new Level()); // this worked fine
示例代码你会很好。gridView在flash IDE中是否真的有“gridView”的名称和实例名?示例代码您会很好。gridView在flash IDE中是否真的有“gridView”的名称和实例名?如果没有代码或了解您的一些设置,我假设您的类是这样的:
package {
import flash.display.MovieClip;
public class Level extends MovieClip {
public var gridView:GridView;
public function Level() {
gridView.x = 100;
}
}
}
这是假设gridView
是一个gridView
,但实际上它可以是任何东西
可能发生的情况是,您的gridView
实例在flashide中没有正确命名。你可能想检查一下这个
另一种可能性是,你可能会陷入一个温柔的芭蕾舞中,即打开“严格模式”,同时关闭“自动声明舞台实例”。您可以通过进入发布设置->Flash选项卡->单击脚本下拉列表右侧显示设置的按钮来找到这些复选框
这意味着在关闭自动声明的情况下,您必须在类中做更多的工作
有关在严格模式下可以做什么和不能做什么的一些信息,请查看以下堆栈溢出问题:
关于stage实例,有一个堆栈溢出问题:如果没有代码或了解一些设置,我假设您的类是这样的:
package {
import flash.display.MovieClip;
public class Level extends MovieClip {
public var gridView:GridView;
public function Level() {
gridView.x = 100;
}
}
}
这是假设gridView
是一个gridView
,但实际上它可以是任何东西
可能发生的情况是,您的gridView
实例在flashide中没有正确命名。你可能想检查一下这个
另一种可能性是,你可能会陷入一个温柔的芭蕾舞中,即打开“严格模式”,同时关闭“自动声明舞台实例”。您可以通过进入发布设置->Flash选项卡->单击脚本下拉列表右侧显示设置的按钮来找到这些复选框
这意味着在关闭自动声明的情况下,您必须在类中做更多的工作
有关在严格模式下可以做什么和不能做什么的一些信息,请查看以下堆栈溢出问题:
关于stage实例,有一个堆栈溢出问题:我建议您在“Level”类中公开声明“gridView”
公共视图:MovieClip 我建议您在“Level”类中公开声明“gridView”
公共视图:MovieClip 我已经发布了我的代码,它不像你一开始写的那样。当我尝试
newlevel()
时,它工作得很好,但是当我尝试newlevel1()
时,它就死了,尽管Level
声明几乎是空的。现在有了源代码,让我再看一看。我已经发布了我的代码,它不像你一开始写的那样。当我尝试newlevel()
时,它工作得很好,但是当我尝试newlevel1()
时,它就死了,尽管Level
声明几乎是空的。既然有了源代码,让我再看一看。Level1是否附加到创作中包含名为gridView的对象的MC?如果不是,那就是问题所在——类继承只发生在代码中;级别的子类不会有自己的gridView实例,因为父类在创作中声明了一个实例。级别1是否附加到创作中包含名为gridView的对象的MC?如果不是,那就是问题所在——类继承只发生在代码中;级别的子类不会有自己的gridView实例,因为父类在编写时声明了一个实例。