Class 在中的类中设置文本字段但显示数字?
我正在学习as3,并从adobe在线教程中构建一些练习。我正在尝试做一个非常简单的任务,我认为我的代码与教程完全相同,但它不起作用!我就是想不出来 我正在尝试从buttons类更改button中的textfield 该按钮称为GameButton,文本字段称为blabel,是经典文本和动态文本。下面是GameButton类的代码。它没有像下面那样显示“单击”,而是将标签更改为数字1。trace语句正在运行,它正在运行,但是文本没有通过或其他什么。请帮忙 包装{Class 在中的类中设置文本字段但显示数字?,class,textfield,actionscript-3,Class,Textfield,Actionscript 3,我正在学习as3,并从adobe在线教程中构建一些练习。我正在尝试做一个非常简单的任务,我认为我的代码与教程完全相同,但它不起作用!我就是想不出来 我正在尝试从buttons类更改button中的textfield 该按钮称为GameButton,文本字段称为blabel,是经典文本和动态文本。下面是GameButton类的代码。它没有像下面那样显示“单击”,而是将标签更改为数字1。trace语句正在运行,它正在运行,但是文本没有通过或其他什么。请帮忙 包装{ import flash.disp
import flash.display.MovieClip;
public class GameButton extends MovieClip {
public function GameButton() {
trace("Gamebutton has been created");
this.blabel.text = "Click";
stop();
}
}
}最重要的是,您可以在代码中创建按钮,或者您可以尝试侦听来自要将子对象添加到的父对象(可能是阶段,也可能是另一个DisplayObjectContainer)的添加到阶段的事件。侦听方法的问题是,我不确定您如何知道哪个孩子刚刚发送了事件,而没有生成一些混乱的代码。我认为第一个选项通常更简单,也更有意义,唯一需要注意的是,您必须使用x/y坐标放置实例,或者应用scaleX、scaleY来拉伸或收缩对象,而不是使用创作工具。您仍然可以使用flash的拖放部分来计算坐标和构建单个电影剪辑等 关于一些代码的讨论已经够多了:
package
{
import flash.display.MovieClip;
public class GameButton extends MovieClip {
private var blabel:TextField; //This can be any display object class or a class that extends from a display object class (Sprite, MovieClip, MyCustomButton etc.)
public function GameButton() {
blabel = new TextField(); //The type after new, should be the same, or a sub-class (extension) of the type used in the variable declaration above
addChild(blabel);
//blabel.x=10; //optional over ten pixels from left
//blabel.y=10; //optional down ten pixels from top
//blabel.scaleX=.5; //optional half the width
//blabel.scaleY=2; //optional 2 times taller
trace("Gamebutton has been created");
blabel.text = "Click";
stop();
}
}
}
在Flash Professional中放置在后台的子实例不能由代码从父实例的构造函数中访问,因为它们在代码执行时尚未创建。在访问子级之前,父级必须通过代码创建子实例,或者延迟对侦听子级以分派其事件的回调函数的访问。添加了\u to \u STAGE事件。