[云师学脚本] 下雪 (下)
本帖最后由 巫荣云师 于 2020-3-4 16:37 编辑 <br /><br /><DIV style="LEFT: -20px; WIDTH: 800px; POSITION: relative; TOP:0px"><IFRAME marginWidth=0 marginHeight=0 src="http://yun.aiu365.com/s.php?sid=1i5xk3" frameBorder=0
width=800 scrolling=no height=600>
</IFRAME>
</DIV><BR>
请点场景观雪花听音乐,谢谢光临!<BR><BR>
本帖最后由 巫荣云师 于 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);//将生成雪花添加到场景中
}
}
}
}
问好云师,分享学习你提供的教程,谢谢了!真心的祝愿朋友永远幸福快乐 ! 欣赏佳作。为你点赞。 白茫茫一片大地真干净。 雪景很漂亮,图图切换效果美美哒! 感谢精彩分享,制作辛苦,祝您一切顺利,万事如意! 点击场景 开始下雪,音乐好听! 黔中一叟 发表于 2020-3-4 16:50
问好云师,分享学习你提供的教程,谢谢了!真心的祝愿朋友永远幸福快乐 !
问好黔中一叟超版,谢谢您的鼓励! 绿地水池 发表于 2020-3-4 17:01
欣赏佳作。为你点赞。
问好绿地水池老师,谢谢您的鼓励!