as3总结(1)

来源:互联网 发布:数据清新图 编辑:程序博客网 时间:2024/06/14 21:16

  最近开始做as3,遇到很多问题,今天下午集中解决了一下,决定总结一下,便于以后温故而知新嘛。
一、用代码添加文本框一般都是批量添加,但是添加之后如何对文本框进行操作呢?这时候可以设一个数组,然后将生成的文本框添加到数组中,通过数组对文本框进行操作。
1、下面的代码用于生成3个文本框并将其添加进数组
var txt_Arr:Array = new Array();
for (var j = 0; j <3; ++j) {
 var mytxt_txt:TextField = new TextField();
 mytxt_txt.selectable=false;
 mytxt_txt.x=j*80+100;
 mytxt_txt.y=i*25+100;
 mytxt_txt.width=55;
 mytxt_txt.height=25;
 txt_Arr.push(mytxt_txt);
 addChild(mytxt_txt);
}
2、然后可以对这个数组进行操作,这个数组的每一项均是一个文本框
for (var j = 0; j <3; ++j) {
 txt_Arr[j].text = "第" + (j+1) + "个文本框";
}
3、可以看到舞台上有三个文本框,里面分别显示"第1个文本框","第2个文本框","第3个文本框"。
二、为了控制起来方便,将不同的界面放入不同的影片剪辑里面去了,但是发现影片剪辑无法添加键盘按下侦听,试了很多办法,终于找到原因,需要先设置舞台的焦点为此影片剪辑。
1、设置此舞台的侦听为影片剪辑mc
stage.focus=mc;
2、这时,我们就可以给影片剪辑添加键盘按下侦听了
mc.addEventListener(KeyboardEvent.KEY_DOWN,key_down);
否则,我们就只能写stage.addEventListener(KeyboardEvent.KEY_DOWN,key_down);
3、当设置了此影片剪辑为舞台的焦点之后,发现一个问题,就是影片剪辑上会出现默认的那个黄色的默认焦点框,特别丑,用下面这句话可以去掉黄色框。
mc.focusRect = false;
三、发现双击事件出问题,点很多下才有一次触发,偶发性很强。后来无意中添加了一句话就正常了。根据这句话判断有可能因为是去优先侦听其孩子的鼠标事件了,将其孩子结点的鼠标事件给禁用掉就可以了。
mc.mouseChildren = false;

原创粉丝点击