- 注册时间
- 2012-10-25
- 最后登录
- 2021-12-3
- 阅读权限
- 200
- 积分
- 387
- 精华
- 0
- 帖子
- 40
|
排版不太方便。。我还是纯文字吧。。
首先呢,我们新建一个flash文件,名字就叫"下落的方块.fla".绑定一个类:StageBox ,然后,新建一个StageBox 的类。 (什么。。。什么叫绑定类?不懂?百度。。。。)
好吧,我说说,绑定类,就是说。。flash整个动画是一个大对象。这个对象,就必须是一个类的实例。所以我们要写这个类,作为整个动画的顶层类。
(如果关于类和实例之间的关系不明白,请自学JAVA面向对象编程思想。)
然后在舞台上画个方块,啥颜色,你喜欢就行,把它变成元件。。名字吗,就起个box.再给box绑定一个类叫Box.(在新建的时候就可以绑好。不懂操作打我电话。。。1588888888)
这个Box类就是StageBox的子类了。。父类跟子类就像像洋葱一样层层包含的关系。。你懂的。再多说一句:StageBox就是整个动画,Box就是那个方块。
我们先从方块Box开始写代码:
那么我们先构思一下。。。box它一出来在什么地方?即然是上面落下,肯定是在上方,那水平位置肯定是随机,而且一出现,肯定是往下掉。
那么, 我们在构造函数里,先初始化它的位置:this.x=Math.random()*500;(水平位置随机), this.y=0,(在最上面)。
那么位置定好了,怎么让它下落呢。。我们可以用一个循环事件的侦听器,让它纵坐标不停的加:addEventListener(Event.ENTER_FRAME,movebox);
好,这是第一个关键:侦听器。我来解释一下。侦听器是JAVA语方一个特有的工具。你可以把它当作一个函数。这个东西,就像你给一个电影剪辑添加一个监控。它能随时监控到它相关的事件。并且在发生某些特殊事件时,触发一个动作。这个动作就是一个带Event类型参数的一系列指令。利Event类型参数的各种属性,可以得知到所侦听事件的各种详情。你可以利用Event事件来判断决定触发事件的时间点,这个可以在后面的方法里实现。
我们所添加的这个事件侦听器,是一个播放侦听器,它监控帧的播放状态,如果不使用IF判断函数,那么,那在每播放一侦,它都会触发方法里的动作。下面我们看方法所写的代码:
public function moveBox(event:Event){
this.y+=5;//纵坐标第侦向下移动5个像素
if (this.y>300){
removeEventListener(Event.ENTER_FRAME,moveBox); //当坐票大于300时,删除侦听器。。就是说不用侦听了
MovieClip(parent).removeBox(this); //把自己也给删掉
parent.removeChild(this);//此时父类实例,要删掉一个节点。因为自己不在了,节点也要删,不然占个位置,浪费。
}
好了,这个Box类的代码就是这些。
|
|