我想要做的是从子类中的超类调用方法。具体来说,我希望能够将子类添加为超类的子类,但实际上不必在超类中键入addChild(但我必须在子类中键入它)。现在我只是试图在超类中调用一个从子类中提取一些文本的方法。
这是MAIN类(超类)
package
{
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class MAIN extends Sprite
{
public var SOMETEXT:TextField = new TextField();
public function MAIN()
{
new OBJECT_square().CREATE();
}
public function DRAWTEXT():void
{
SOMETEXT.text = "sometext";
addChild(SOMETEXT);
}
}
}
这是OBJECT_square类(子类)
package
{
import flash.display.*;
import flash.events.*;
public class OBJECT_square extends MAIN
{
public function CREATE():void
{
MAIN.DRAWTEXT();
}
}
}
代码无法编译,我得到“通过带有静态类型类的引用调用可能未定义的方法DRAWTEXT”。
我意识到还有其他方法可以在屏幕上显示文字。我只需要学习如何调用超类方法。
答案 0 :(得分:2)
只需定期打电话。当您有一个类扩展基类时,该类继承所有基类方法。
package
{
import flash.display.*;
import flash.events.*;
public class OBJECT_square extends MAIN
{
public function CREATE():void
{
DRAWTEXT();
}
}
}
答案 1 :(得分:1)
被修改
我建议static
不好,我在回答之前显然没有太注意你的代码。 DRAWTEXT不会显示任何内容,因为您的对象未添加到舞台中。你必须调用addChild()才能看到你的diplsay对象。
作为一个附注,不要把这个弄坏,买你一直在问很多问题,这些问题表明你对Flash和Actionscript的工作方式缺乏基本的了解(而且你似乎也有点过于坚持让它以你想要的方式工作)。
在这里提出问题总是可以的(只要你把它们放在主题上,这似乎与你的问题有关),但我认为你最好先从一些好书,教程中学习基础知识。等等。
这两个帖子包含指向优质资源的链接,我认为你应该查看它们。
Resources for Learning ActionScript 3.0 as a Professional Programmer
https://stackoverflow.com/questions/168586/where-to-learn-actionscript-3-0
此外,所有这些用户名称相同的是什么?现在我可以在这里看到9个名为1101
的用户:https://stackoverflow.com/users/,我认为所有这些都是你的。一个就够了。真。每次要提问时都不需要创建新用户。此外,尝试跟进您要求的问题,向那些困扰回答的人提供一些反馈(如果您只有一个用户,这将更容易)。如果您想对某些回复发表评论,请发表评论而不是添加回答。