|
发表于 2020-7-19 11:35:13
|
显示全部楼层
本帖最后由 刘树义 于 2020-7-20 14:44 编辑
package {
import flash.display.MovieClip; //加载外部类,用于影片剪辑
import flash.display.Sprite; //加载外部类,用于影片剪辑
import flash.text.TextField; //加载外部类,用于文本框
import flash.text.TextFormat; //加载外部类,用于文本格式
import flash.text.TextFormatAlign; //加载外部类,用于文本对齐
import flash.text.TextFieldAutoSize; //加载外部类,用于自动尺寸
import flash.media.Sound; //加载外部类,用于声音
import flash.media.SoundChannel; //加载外部类,用于声道
import flash.events.Event; //加载外部类,用于侦听
import flash.events.MouseEvent; //加载外部类,用于鼠标侦听
import flash.display.Bitmap; //加载外部类,用于位图
import flash.display.BitmapData; //加载外部类,用于位图数据
import flash.display.BlendMode; //加载外部类,用于混合模式
import flash.geom.Matrix; //加载外部类,用于矩阵
import flash.geom.Point; //加载外部类,用于点
public class MainTimeline extends MovieClip { //构建一个类,
var Width: Number = stage.stageWidth; //定义一个变量,存放场景的宽度
var Height: Number = stage.stageHeight; //定义一个变量,存放场景的高度
var pic: Sprite = new PIC(); //构建一个影片剪辑,将库中的背景影片剪辑加载到场景中
var mytext: TextField = new TextField(); ////构建一个文本框
var mtf: TextFormat = new TextFormat(); //定义一个变量,用于字体格式
var font: String; //定义一个变量,用于字体
var color: uint; //定义一个变量,用于颜色
var size: Number; //定义一个变量,用于尺寸
var text: String = ""; //定义一个变量,用于字符串
var Title: Sprite = new ColorText("爱心小花朵简体", 0x00ffff, 40, "爱的涟漪"); //构建一个标题
var Signature: Sprite = new ColorText("华文新魏", 0x00ff00, 30, "刘树义习作"); //构建一个签名
var Signature1: Sprite = new ColorText("华文隶书", 0xff0000, 35, "清爽制作"); //构建一个签名
var date: Sprite = new ColorText("宋体", 0xffff00, 18, "2020年7月19日"); //构建日期
var bj: int = -1; //定义一个变量,作为鼠标点击的标记。也可以布尔型
var sound: SOUND = new SOUND(); //构建一个声音,将库中的音乐加载到场景中
var chl: SoundChannel; //定义一个变量,类型声道
var image: Bitmap; //定义一个变量,类型位图
var bitmap: BitmapData; //定义一个变量,类型位图数据
var offsets: Array; //定义一个数组
var month: Sprite = new MONTH(); //构建一个影片剪辑,将库中的月亮影片剪辑加载到场景中
var mirrormonth: Sprite = new MIRRORMONTH(); //构建一个影片剪辑,将库中的月亮倒影影片剪辑加载到场景中
var angle: Number = -60; //定义一个变量,用于月亮开始点角度
public function MainTimeline() { //定义一个主函数
init();
}
private function init() { //定义init函数
addChild(pic); //加载背景影片剪辑
addFrameScript(0, frame1); //添加一帧
var sp: Sprite = new Sprite(); //构建一个影片剪辑
sp.graphics.beginFill(0x000000); //设置填充颜色
sp.graphics.drawRect(0, 0, Width, Height); //绘制矩形
sp.graphics.endFill(); //结束填充
addChild(sp); //将所绘制图形加载到场景中
pic.mask = sp; //设为遮罩
button();
addEventListener(MouseEvent.CLICK, ClockMOVE); //添加鼠标侦听事件
/// 辅助弧线
//var cap: Sprite = new Sprite(); //构建一个影片剪辑+
//cap.graphics.lineStyle(2, 0xff0000);
//cap.graphics.drawCircle(450, 1510, 1500); //绘制圆
//addChild(cap); //加载到场景中
}
private function ClockMOVE(e: MouseEvent) { //隐形按钮的侦听事件
bj *= -1; //改变状态
if (bj > 0) { //状态判定
chl = sound.play(0, 5); //播放音乐
Addmonth();
TAS(); //调用标题签名函数
} else {
chl.stop(); //停止音乐
RemoveTAS(); //删除标题签名函数
Removemonth();
}
}
private function TAS() { //创建标题签名函数
addChild(Title); //将标题添加到场景中
Title.x = 450; //设置标题x属性
Title.y = 20; //设置标题y属性
addChild(Signature); //将签名添加到场景中
Signature.x = 900; //设置签名x属性
Signature.y = 530; //设置签名y属性
addChild(Signature1); //将签名添加到场景中
Signature1.x = 900; //设置签名x属性
Signature1.y = 490; //设置签名y属性
addChild(date); //将日期添加到场景中
date.x = 900; //设置日期x属性
date.y = 565; //设置日期y属性
}
private function RemoveTAS() { //构建移除标题签名函数
removeChild(Title); //移除标题
removeChild(Signature); //移除签名
removeChild(date); //移除日期
}
private function button() { //隐形按钮函数
var sp: Sprite = new Sprite(); //构建一个影片剪辑
sp.graphics.beginFill(0xffffff); //设置填充颜色
sp.graphics.drawRect(0, 0, Width, Height); //绘制矩形
sp.graphics.endFill(); //结束填充
sp.alpha = 0; //设置透明度
sp.buttonMode = true; //打开按钮模式
addChild(sp); //添加到场景中
}
private function frame1() { //定义水波纹函数
bitmap = new BitmapData(Width, 400, false, 0xFFFFFFFF); //构建一个位图数据 4278190080
image = new Bitmap(bitmap); //构建一个位图
image.blendMode = BlendMode.OVERLAY; //设置模式 SUBTRACT//ADD//ALPHA//DARKEN//DIFFERENCE//ERASE//HARDLIGHT//INVERT//LAYER//LIGHTEN//MULTIPLY//NORMAL//SCREEN //OVERLAY//SUBTRACT;
image.y = 300; //设置起始高度
addChild(image); //将此位图添加到场景中
offsets = [new Point(), new Point()]; //构建新点存放于数组中
addEventListener(Event.ENTER_FRAME, enterFrameHandler); //添加侦听事件
return; //函数返回
}
private function enterFrameHandler(event: Event) { //定义侦听函数
offsets[0].x = offsets[0].x + 5; //点数组增加量
offsets[1].x = offsets[1].x - 5; ////点数组增加量
bitmap.perlinNoise(80, 10, 2, 10, true, true, 1, true, offsets); //生成Perlin杂点图像
month.x = mirrormonth.x = 450 + 1500 * Math.cos(angle * 3.14 / 180); //计算月亮运行轨道
month.y = 1510 + 1500 * Math.sin(angle * 3.14 / 180); //计算月亮运行轨道
if (angle > -110) { //判断角度
angle -= 0.005; //月亮运行角度增量
} else {
angle = -60; //设置月亮新位置
}
mirrormonth.y = 550 - month.y; //利用月亮的y位置计算出月亮阴影的位置
return; //函数返回
}
private function Addmonth() { //定义添加月亮函数
pic.addChild(month); //将月亮添加到背景影片剪辑中
pic.addChild(mirrormonth); //将月亮倒影添加到背景影片剪辑中
return; //函数返回
}
private function Removemonth() { //定义移除月亮函数
pic.removeChild(month); //移除月亮
pic.removeChild(mirrormonth); //移除月亮倒影
return; //函数返回
}
}
}
|
评分
-
查看全部评分
|