flash教程的三个例子

点评:这幅画是神秘的图像,控制起始点的横坐标,由外部输入信号幅度和跨度,文字和下面的MC位置是任意的安排





绘画是神秘的图像,控制起始点的横坐标,由外部输入信号幅度和跨度。

U3000 U3000

想法:我们可以在工作源程序中找到:


复制代码代码如下所示:

将(100, 200); / /起点坐标正弦线为横坐标(100200)使用一个变量来表达(一)



Y = 200-100 * Math.sin(我的数学。π/ 180); / / 100决定震动的大小,我们可以使用变量(B)表示为数字1;横坐标,1度角,在一个周期的360度的条件下,如果横坐标1像素对应某种程度,所以寿命会明显下降,也就是说,罪(我数学。π/ 180)在我决定跨度尺寸系数后的360 / C系数反复测试是比较合理的。因此,在原计划的两项是可以改变的:
复制代码代码如下所示:
MoveTo(一,200);
Y = 200-b * Math.sin(360 / *我*数学。π/ 180)


为了能够重用这个绘图程序,很明显,我们应该使用自定义函数,上面的三个变量可以用作参数。

开放源3.7.1.fla文件,你只记得那里的工作是不同的:

在第一帧:


复制代码代码如下所示:
对初始输入文本变量
函数滑县(A,B,C){自定义函数,一个名为滑县参数的函数,用于三个文本变量

Y = 200-b*Math.sin (360/c*i*Math.PI/180); //b C decided to determine the amplitude, span

如果(i)超过360度(我的C为360)。(360)
结束绘制; / /删除事件
}
};
}
滑县(100, 100, 360);绘制正弦图像


脚本上的按钮:


复制代码代码如下所示:
关于(释放){
如果(c<36){
请输入一个整数在36以上;太小,图像错误太大。
其他{ }
Web
_root.huaxian(数(A),(B),数量多(C)); / /调整的定制功能,并把它们放在数值参数
}
}


两个文本的位置和下面的MC是任意排列的。

U3000 U3000

思考:考虑到MC的位置乱排,这些MC的坐标都是一样的,所以我们主要考虑横坐标乱行。我们把这6个MC坐标数组,和最后一节,很容易实现无序排的效果。

打开3.7.1.fla文件

第一个框架上的脚本是:


复制代码代码如下所示:
停止();
我= 0;
w_arry = { 30, 110, 190,270, 350, 430 }; / /文本的横坐标为数组
对于(t=1;t<7;t + +){
M = math.floor(数学。随机)(* w_arry。长度); / /接一些从任意阵列
这{WZ+ T }。_x = w_arry {米}; / /数组中的元素数作为文本的横坐标
w_arry.splice(m,1); / /从这个数组删除该元素个数;
这{WZ+ T }。_y = 30; / /纵坐标设置文本
}
tx_arry = { 76, 156, 236,316, 396, 476 }以上; / /相似;
对于(s = 1;s < 7;s + +){
M = math.floor(Math.random()* tx_arry。长度);
这{TX+ +_mc}。_x = tx_arry {米};
tx_arry.splice(m,1);
这{TX+我+_mc}。_y = 320;
}
功能stlx(MD,MC){ / /设置自定义功能
md.x = md._x; / /坐标与变量x y的电影剪辑电影片段来拯救
md.y = md._y;
(md.onpress =功能){ MD出版社 / /鼠标;
StartDrag(这个,真的); / /拖MD;
};
(md.onrelease =功能){在释放 / /鼠标MD;
(停止拖动); / /停止拖动;
如果(md.hittest(MC)){ / /如果MD和MC的交叉或重叠;
如果(md.k!= 1)如果变量k不等于1;
++;添加1变量i;
md.k = 1; / / MD变量k = 1;
}
如果(i = 6){如果我等于6;
(下一个); / /到下一帧;
}
}如果MD和NC不重叠或交叉,则为;
md._x = md.x; / /原来MD的坐标被分配到MD(回到原来的位置)
md._y = md.y;
}
};
}
对于(j = 1;j < 7;j + +)等于6 MC增加自定义函数
Stlx(本{TX+ J +_mc},{这WZ + J });
}
例如,它是j=1:
Stlx(this.tx1_mc,这。1)
* /


三。当四个组件开始按顺序播放时,一端到另一个开始是否等于输入时间一端到另一端的时间间隔等于输入时间。





U3000 U3000

思想:

方法1可以描述4元素的最后一帧使其他元素以一定的时间了。

方法2(帧)可用于监控事件处理功能,如果当前帧等于电影帧的总帧数,则电影播放,让另一部电影播放,使用方法2简单。

打开3.7.3fla文件:

第一个框架上的脚本是:


复制代码代码如下所示:
yp_array = { AA、BB、CC、DD }; / / 4 MC作为yp_array元素的数组;
时间;
我= 0;
函数(DU){自定义函数
我yp_array { }。玩(yp_array) / /播放;我MC数组
我yp_array { }。onEnterFrame =功能(MC){ / /在事件处理程序中的使用
如果(这。_currentframe = =这。_totalframes){ / /如果当前帧等于MC总数;
SJ = setInterval(杜,时间×1000); / /毫秒间隔时间* 1000自定义函数杜;
删除this.onenterframe; / /删除事件;
}
};
ClearInterval(SJ); / /清除时间间隔功能
++;
}
函数在(){
K = math.floor(Math.random()* yp_array。长度);
/ /根据阵列yp_array长度,选择一个随机数k;
yp_array {K }。玩(yp_array);在K / /阵列MC的球员
yp_array {克}。onEnterFrame =功能(MC){ / /在事件处理程序中的使用
如果(这。_currentframe = =这。_totalframes){ / /如果当前帧等于MC总数;
sjing = setInterval(中,时间×1000);
间隔时间* 1000 / / MS在自定义功能;
删除this.onenterframe; / /删除事件;
}
};
yp_array.splice(k,1); / /删除K元素从数组yp_array
ClearInterval(sjing / /);明确的时间区间函数
}


为了播放按钮脚本:


复制代码代码如下所示:
关于(释放){
yp_array = { AA、BB、CC、DD }; / / yp_array数组赋值
ClearInterval(sjing);
删除函数的随机时间间隔播放时,这是为了防止前两个随机错误后。
i = 0;重新分配变量。
如果(时间)!){
杜(杜);转移函数
}
}


在按钮上;随机播放脚本就可以了:


复制代码代码如下所示:
在(释放){;;在类似的按钮上播放按钮的顺序;
yp_array = { AA、BB、CC、DD };
ClearInterval(SJ);
我= 0;
如果(时间)!){
在();
}
}


U3000 U3000