我正在按照这里的教程
http://www.graphicsxone.com/checkbox-and-as3-in-flash-cs4.html
这是我在main.as中的代码
package {
import flash.display.Sprite;
// import the CheckBox class
import fl.controls.CheckBox;
mport flash.events.*;
public class main extends Sprite {
addEventListener( Event.ADDED_TO_STAGE, init );
// create the CheckBoxes
var NS = new CheckBox();
var SS = new CheckBox();
var ES = new CheckBox();
var WS = new CheckBox();
}
private function init( e:Event ):void
{
removeEventListener( Event.ADDED_TO_STAGE, init );
response_txt.text = 'foo bar baz etc';
}
}
当我测试时说
访问未定义的属性response_txt。
新图片http://img217.imageshack.us/i/responsetxt2.jpg/
答案 0 :(得分:1)
你从未实例化过response_txt。
var response_txt:TextField = new TextField();
response_txt.text = "blah blah blah";
那或者您没有在Flash IDE中正确分配实例名称。我没有多看这个教程但是 - 如果你的符号在舞台上,只需点击它并确保给它正确的实例名称......
答案 1 :(得分:1)
您没有response_txt的实例。
来自教程:
使用文本工具绘制一个 矩形覆盖内部 容器
在。中设置Text属性 带有“动态文本”的属性 实例名称 response_txt 。
你做到了吗?
答案 2 :(得分:1)
这是一个简单的问题,舞台上存在response_txt
,但在调用代码时,舞台尚未实例化。
简单的解决方案是在类构造函数中添加一个事件处理程序:
import flash.events.Event;
public class main extends Sprite
{
public function main():void
{
addEventListener( Event.ADDED_TO_STAGE, init );
}
private function init( e:Event ):void
{
removeEventListener( Event.ADDED_TO_STAGE, init );
response_txt.text = 'foo bar baz etc';
}
}