[Flash动画制作]Flash air制作透明雪花特效
打开FLASH CS3,新建一个FLASH AIR文档,设置窗口模式为透明(设置方法在上篇文章中我已经说过了),创建一个雪花影片剪辑,链接为snow,在场景中创建一个按钮,实例名称为close_btn,在文档类中填写main,保存此文件为snow.fla。新建一个AS文件,放在同目录下,保存为main.as,在其中写入以下代码:
package {
import flash.display.MovieClip;
import flash.display.SimpleButton;
import flash.display.StageDisplayState;
import flash.display.NativeWindow;
import flash.events.Event;
import flash.events.MouseEvent;
public class main extends MovieClip {
private var window:NativeWindow=stage.nativeWindow;
private var mysnow:snow;
public function main() {
stage.displayState=StageDisplayState.FULL_SCREEN;
addEventListener(Event.ENTER_FRAME,xh);
close_btn.addEventListener(MouseEvent.CLICK,closefunc);
}
private function xh(event:Event):void {
mysnow=new snow ;
addChild(mysnow);
}
private function closefunc(event:MouseEvent):void {
window.close();
}
}
}
我们还要为snow影片剪辑写一个包,新建一个AS文件,保存在同目录下,名为snow.as,写入以下代码:
package {
import flash.display.MovieClip;
import flash.events.Event;
public class snow extends MovieClip {
private var speedy:Number=Math.random() * 6 2;
public function snow() {
var lastwidth:Number=this.width;
this.width=Math.random() * 5;
this.height*= this.width / lastwidth;
this.y=-5;
this.x=Math.random() * 545;
addEventListener(Event.ENTER_FRAME,xh);
}
private function xh(event:Event):void {
this.y = speedy;
if (this.y > 400) {
removethis();
}
}
private function removethis():void {
removeEventListener(Event.ENTER_FRAME,xh);
parent.removeChild(this);
}
}
}
Ctrl Enter测试就可以看到效果了。
效果如下:
推荐阅读: