学习flash脚本应注意的几个问题

本文介绍使用ActionScript 3 (AS3) 进行Flash开发时的几个关键点,包括如何正确加载图片并注册事件监听器、解决显示对象未添加到舞台前无法注册事件的问题、利用Timer类逐张加载多张图片的方法以及AS3中不同类间如何通过传递参数进行通信。

转载自:http://blog.sina.com.cn/s/blog_3e38d2cb0100beo0.html

1、加载图片后并不能立即对加载的图片进行操作,必须注册一个侦听器。

<wbr><wbr>var picLoader:Loader=new Loader();</wbr></wbr>

picLoader.load(new URLRequest("pic.jpg"));
<wbr>picLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,picLoad);</wbr>

function picLoad(e:Event) {

<wbr>trace(picLoader.width)}</wbr>

2、显示对象没有添加到舞台前,是不能对舞台stage注册侦听的。

<wbr>如:stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownEvent);这是会报错的;</wbr>

应改为 mainTimeline.stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownEvent);

把主时间轴加上才可以。或者先注册如下的侦听事件也是可以的:

addEventListener(Event.ADDED_TO_STAGE,init);
<wbr><wbr><wbr>function init(e:Event) {<br><wbr><wbr><wbr><wbr>stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownEvent);<br><wbr><wbr><wbr><wbr>stage.addEventListener(KeyboardEvent.KEY_UP,keyUpEvent);<br><wbr><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

这样似乎更好理解。

3、使用Timer类一张张加载多张图片时,每次都需要申明一个loader类对象;

var picCount:uint=0;

var picTimer:Timer=new Timer(1000);
picTimer.start();
picTimer.addEventListener(TimerEvent.TIMER,timerHandler);
function timerHandler(e:TimerEvent):void {
<wbr>var picLoader:Loader=new Loader();//每次加载一张图片后,都需要申明loader对象;<br><wbr>picCount++;<br><wbr>picLoader.load(new URLRequest("pic"+picCount+".jpg"));<br><wbr>picLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,picLoad);<br><wbr>if (picCount&gt;=7) {<br><wbr><wbr>picTimer.stop();</wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr>}<br> }<br> 4、在写as外部类文件时,多个类间的沟通和联系是个难点。通常是通过传递参数实现类之间的交互的;</wbr>

以上仅仅是我学习的一点体会,不对之处,敬请各位老师批评指正。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值