签到天数: 177 天 [LV.7]常住居民III 鲜花( 10) 鸡蛋( 0)
|
楼主 |
发表于 2020-3-4 16:27
|
显示全部楼层
本帖最后由 巫荣云师 于 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);//将生成雪花添加到场景中
}
}
}
}
|
|