帮我详细说明以下的FLASH代码,

2025-03-09 11:45:03
推荐回答(1个)
回答1:

#include "cp_Menu.as"
//导入外部as文件,名字:cp_Menu.as
Stage.scaleMode = "noScale";
//设置flash舞台模式。noScale: 使 Flash 内容的尺寸固定,即使在更改播放器窗口大小,它仍然保持不变。
import flash.display.BitmapData;
//访问位图类
import flash.filters.ConvolutionFilter;
//访问矩阵卷积滤镜效果类
import flash.geom.Rectangle;
//访问可以修改已创建的Rectangle类(就是刚才创建的矩阵,Rectangle没合适的中文名)
_root.createTextField('Msg_txt',10,20,10,100,20);
//主场景下,建立空影片剪辑,名字:Msg_txt,深度10,x坐标20,y坐标10,长100,宽20
Msg_txt.textColor = 0x00ff00;
//设置“Msg_txt”的字体颜色
Msg_txt.text = "点击夜空放烟花";
//设置“Msg_txt”的显示内容
var con = new ConvolutionFilter(3, 3, [1, 1, 1, 1, 30, 1, 1, 1, 1], 38);
//建立“con”为滤镜效果实例对象,(x维度,y维度,[转换值的数组],转换值的除数)(建立的矩阵为3*3(一行3个,一列3个),一共9个,数组中每个数字对应一个,38是除数)
var rect:Rectangle = new Rectangle(0, 0, Stage.width, 200);
//建立“rect”为Rectangle实例对象(x坐标,y坐标,宽度为舞台宽度,高度)
var bitmap1 = new BitmapData(rect.width, rect.height, false, 0x000000);
//建立bitmap1为新的位图实例对象,(宽度为“rect”的宽度,高度为“rect”的高度,位图图像不支持每个像素具有不同的透明度,填充颜色)
var bitmap2 = new BitmapData(rect.width, rect.height, true, 0x00000000);
//建立bitmap2为新的位图实例对象,(宽度为“rect”的宽度,高度为“rect”的高度,位图图像支持每个像素具有不同的透明度,填充颜色)
var bitmapShow1 = createEmptyMovieClip("bitmapShow1", 1).attachBitmap(bitmap1, 1);
//粒子的显示画布
var bitmapShow2 = createEmptyMovieClip("bitmapShow2", 2).attachBitmap(bitmap2, 2);
//白色闪光点的显示画布
var m_mouseX;
//鼠标x坐标
var m_mouseY;
//鼠标y坐标
var sound1 = new Sound();
//上升过程的声音
var sound2 = new Sound();
//爆炸声音
var bit_px = new Array(bits);
//爆炸过程的x坐标
var bit_py = new Array(bits);
//爆炸过程的y坐标
var bit_vx = new Array(bits);
//爆炸过程的x速度
var bit_vy = new Array(bits);
//爆炸过程的y速度
var bit_sx = new Array(bits);
//上升过程的x坐标
var bit_sy = new Array(bits);
//上升过程的y坐标
var bit_l = new Array(bits);
//粒子的生命时间
var bit_f = new Array(bits);
//是上升还是爆炸的标志
var bit_p = new Array(bits);
//随机出现白色闪光点的标志
var bit_c = new Array(bits);
//粒子颜色
init();
//调用init函数
function init() {
//定义init函数
sound1.attachSound("sound1");
//从库中调用声音“sound1”
sound2.attachSound("sound2");
//从库中调用声音“sound2”
bits = 500;
//总的最大粒子数
bit_max = 50;
//一次出现的粒子数
bit_sound = 2;
//bit_sound变量未定义,不详,估计在"cp_Menu.as"文件中
for (var j = 0; j < bits; j++) {
//循环,500次
bit_f[j] = 0;
//bit_f数组中所有元素值为0
}
}
onEnterFrame = function () {
//重复调用
bitmap2.fillRect(new Rectangle(0, 0, rect.width, rect.height),0x00000000);
//白色闪光点清除
//bitmap2.applyFilter(bitmap, bitmap.rectangle, new Point(0, 0), con);
rend();
//调用rend函数 ,该函数未定义,不详,估计在"cp_Menu.as"文件中
bitmap1.applyFilter(bitmap1,bitmap1.rectangle,new Point(0, 0),con);
//模糊滤镜
};