Actionscript 3 AS3类继承自sprite不';t画
我刚刚创建了一个类:Actionscript 3 AS3类继承自sprite不';t画,actionscript-3,Actionscript 3,我刚刚创建了一个类:ClassA扩展了Sprite 然后我创建了另一个类:ClassB扩展了ClassA 据我所知,ClassB也是一个精灵 但是,当我尝试在ClassB中添加一个可显示对象(如位图)作为子对象时,它不会绘制任何东西 但是如果我直接从Sprite扩展ClassB(就像ClassB扩展Sprite),那么对象将被绘制 所以我的问题是,为什么不在两级继承中绘制对象?我如何解决问题或是否缺少任何内容 非常感谢。您的代码可能有问题。否则原则上是的,你是对的,B类实际上是精灵。我已经测试过
ClassA扩展了Sprite
然后我创建了另一个类:ClassB扩展了ClassA
据我所知,ClassB也是一个精灵
但是,当我尝试在ClassB
中添加一个可显示对象(如位图)作为子对象时,它不会绘制任何东西
但是如果我直接从Sprite
扩展ClassB
(就像ClassB扩展Sprite
),那么对象将被绘制
所以我的问题是,为什么不在两级继承中绘制对象?我如何解决问题或是否缺少任何内容
非常感谢。您的代码可能有问题。否则原则上是的,你是对的,B类实际上是精灵。我已经测试过了,它也相应地工作了
package
{
import flash.display.Sprite;
public class ClassA extends Sprite
{
public function ClassA()
{
super();
}
}
}
public classB extends ClassA
{
[Embed(source="image.png")]
private var Image:Class;
public classB()
{
addChild(new Image);
}
}
// Add ClassB to display List
public class Main extends Sprite
{
public function Main()
{
super(); addChild(new ClassB);
}
}
看看你能不能检查一下你的代码。我肯定有逻辑上的错误。如果正在加载图像,则通过注册侦听器查看是否存在IO/安全错误。这可能是图像没有被加载的结果。谢谢您的假设是正确的,应该会起作用。你一定有语义上的错误。也许您没有在每个类的构造函数中调用super,而是在显示链上添加ClassB的实例 例如:
我刚刚做了一个测试,我正确地显示了一个来自Sprite的2级继承的位图。你能给我们看看你的错误代码吗?你没有在classB中调用super()。类名也应该大写。实例名称应该是小写的。谢谢,这就是我要问的。问题现在已经解决了
---------------classA--------------------
public class ClassA extends Sprite{
function ClassA(){
super();
}
}
---------------classB--------------------
public class ClassB extends ClassA{
function ClassB(){
super();
}
}
-----------------usage------------------
var foo:ClassB = new ClassB(); //new instance
addChild(foo); //add to display hierarchy
foo.addChild( yourBitmap ); //add your bitmap to the new instance, can be done
-----------------------------------