我有两个问题:我可以使用* .as文件编写应用程序,然后在SWF中以某种方式编译它们吗? (我现在正在制作一个网页)
其次,请查看代码,我的问题是一样的 - 我无法将文本字段渲染到舞台上,以便可见。
Flash说'未定义方法addChild'。和'通过带有静态类型Class的引用访问未定义的属性tekstuKaste。'
这是一个构造函数类型inic,它有点用于初始化,我所做的就是,我通过ActionScript在FLA文件中创建一个THIS类的实例,并期望所有应用程序都能正常工作。
package {
import pacinas.visuals.*;
import pacinas.visuals.AE_kanva;
public class inic {
public function inic() {
trace("===========");
trace("inicializēt un izsaukt visu no Kanvas klases");
trace("===========");
trace(" ");
var kanvas:AE_kanva = new AE_kanva();
trace(" ");
kanvas.varis();
trace(" ");
trace("===========");
trace("inicializēt un izsaukt visu no Lauki klases");
trace("===========");
trace(" ");
var laukiTxt:BE_tekstaLaukiPrimitive = new BE_tekstaLaukiPrimitive();
trace("");
laukiTxt.simpleText();
addChild(BE_tekstaLaukiPrimitive.tekstuKaste);
}
}
}
还有另一个外部课程我希望放置一个矩形 - 这也不起作用。例如:
package pacinas.visuals
{
import flash.display.Sprite;
public class AE_kanva extends Sprite
{
public function AE_kanva()
{
var kvad:Shape = new Shape();
kvad.graphics.beginFill(0xFF0000);
kvad.graphics.drawRect(0, 0, 100,100);
kvad.graphics.endFill();
addChild(kvad);
trace("konstruktors - zīmē kanvu");
}
public function varis()
{
trace("te glabaas variaabljus");
var ff:int = 4;
var dd:int = 8;
}
}
}
这是我希望为我制作文本框的课程(稍后用XML填写)
package pacinas.visuals
{
import flash.text.*;
import flash.display.Sprite;
public class BE_tekstaLaukiPrimitive extends Sprite
{
public var tekstuKaste:TextField = new TextField();
private var kontinents:String = new String ("XML SATURU CMON! a123");
public function BE_tekstaLaukiPrimitive():void
{
trace("teksta rāmis = konstruktora klase");
addChild(tekstuKaste); <--CAN'T GET THIS TO WORK!!!
tekstuKaste.text = kontinents;
}
public function simpleText()
{
trace("nekonstruktora f-cija no Teksta lauki");
}
}}
P.S。我不使用文档类。好的,如果需要,我会的。但是如何?
答案 0 :(得分:3)
我可以只使用* .as文件编写应用程序,然后以某种方式将它们编译成SWF吗?
是的 - 使用Flex SDK,你可以编写纯ActionScript并将其编译成一个正常工作的SWF。 FlashDevelop是一个很好的IDE,可以利用这一点。
但是,您需要了解文档类的工作原理。
Flash说
undefined method addChild.
和Access of undefined property tekstuKaste through a reference with static type Class.
在您的代码中,此行导致您的问题:
addChild(BE_tekstaLaukiPrimitive.tekstuKaste);
第一个错误undefined method addChild
是因为您的类inic
没有扩展实现方法addChild()
的类。 DisplayObjectContainer
定义了此方法,因此您需要将其扩展为最低限度,如下所示:
public class inic extends DisplayObjectContainer
第二个错误是因为您尝试访问类BE_tekstaLaukiPrimitive
的属性,就好像它是静态的一样。我怀疑你真正想做的是这个:
addChild(laukiTxt); // laukiTxt is the instance you created.