簽到天數: 177 天 [LV.7]常住居民III  鮮花( 10)  雞蛋( 0)
|
本帖最后由 巫榮云師 于 2020-3-4 16:29 編輯
********************** 全部代碼
package {
import flash.display.Sprite;//加載外部類,用于影片剪輯
import flash.events.Event;//加載外部類,用于偵聽事件
import flash.events.MouseEvent;//加載外部類,用于鼠標偵聽事件
import flash.media.Sound;//加載外部類,用于用聲音
import flash.media.SoundChannel;//加載外部類,用于聲道
public class Xiaxue extends Sprite {
private var XHSL:Number = 800;//定義一個變量,用于存放雪花數量
private var xh:Array = new Array ;//定義一個數組存放雪花
private var vx:Array = new Array ;//定義一個數組用于存放雪花x方向的速度
private var vy:Array = new Array ;//定義一個數組用于存放雪花y方向的速度
var xg:XG=new XG();//用庫中XG構建一個影片剪輯
var i:int = 1;//定義一個整型變量,用于播放標記
var chl:SoundChannel;//定義變量,用于聲道
var snd:Sound = new ST;//用庫中的聲音構建一個新的聲音
public function Xiaxue() {//主函數
addChild(xg);//加效果影片剪輯添加到場景中
xg.y = 75;//調整位置
xg.stop();//效果停止語句,運行即停止;
AN();//調用AN函數
}
private function XHmove(e: Event) {//定義偵聽函數
for (var i: int = 0; i < XHSL; i++) {
xh.x += vx;//所有雪花的x方向增加一個數值
xh.y += vy;//所有雪花的y方向增加一個數值
if (xh.x > 800) {//將超出右邊界的雪花x值設置為0
xh.x = 0;
}
if (xh.y > 525) {//將超出下邊界的雪花y值設置為0
xh.y = 75;
}
if (xh.x < 0) {//將超出右邊界的雪花x值設置為0
xh.x = 800;
}
}
}
private function AN():void {
var an:Sprite = new Sprite ;//構建一個按鈕元件
addChild(an);//添加到場景中
an.graphics.beginFill(0x000000);
// 設置填充色;
an.graphics.drawRect(0, 0, 800, 600);
//繪制一個寬400高50像素距形;
an.graphics.endFill();
// 結束填充;
an.buttonMode = true;//打開按鈕模式
an.alpha = 0;//將此按鈕的不透明度設置0
an.addEventListener(MouseEvent.CLICK,t_click);
//添加按鈕的偵聽事件;
}
private function t_click(evt: MouseEvent):void {//按下按鈕后做的語句
i *= -1;
if (i < 1) {// i初值為1,當點擊時變成了-1。動畫運行時,是停止的,點擊后運動。
xg.play();
addXH();//調用addXH函數
addEventListener(Event.ENTER_FRAME, XHmove);//添加偵聽事件
chl = snd.play();//聲音播放
}
else {// 當i>1時,停止運動。
xg.stop();//效果停止
removeXH();//移除雪花
chl.stop();//聲音停止
}
}
private function removeXH():void {
for (var i: Number = 0; i < XHSL; i++) {
removeChild(xh);//移除雪花
}
}
private function addXH():void {//創建一個函數,用于加載雪花
for (var i: Number = 0; i < XHSL; i++) {
xh = new XH();//構建一個新的雪花
xh.x = 800 * Math.random();//生成雪花的x位置
xh.y = 450 * Math.random() + 75;//生成雪花y位置
vx = 5 * Math.random() - 3;//生成雪花的x方向速度,有正有負
vy = 5 * Math.random();//生成雪花的y方向速度
addChild(xh);//將生成雪花添加到場景中
}
}
}
}
|
|