2个回答
展开全部
想让物体随机出现,可以使用一个随机函数x=random(a);其中a为参数,这个函数可以产生一个0<=x<=a的随机数序列。
例如,你想让一个圆在鼠标点一下后就随机出现在另一个位置,可以进行一下操作。
1、新建一个圆元件。
2、把圆元件拖到舞台上,并且改实例名称为circle。
3、假设舞台大小为500×300像素,新建一个图层,在“动作”中输入下面内容:
_root.circle.onRelease=function(){
_root.circle._x=random(500);
_root.circle._y=random(300);
}
4、按下ctrl+enter键,测试动画效果,你会发现,你用鼠标点一下那个圆,圆就会改变一个位置。
如果你想让它自己移动位置,只须变换一下脚本如下:
onEnterFrame=function(){
_root.circle._x=random(500);
_root.circle._y=random(300);
}
只不过这时候,圆移动的很快,你可以进行改进。
例如,你想让一个圆在鼠标点一下后就随机出现在另一个位置,可以进行一下操作。
1、新建一个圆元件。
2、把圆元件拖到舞台上,并且改实例名称为circle。
3、假设舞台大小为500×300像素,新建一个图层,在“动作”中输入下面内容:
_root.circle.onRelease=function(){
_root.circle._x=random(500);
_root.circle._y=random(300);
}
4、按下ctrl+enter键,测试动画效果,你会发现,你用鼠标点一下那个圆,圆就会改变一个位置。
如果你想让它自己移动位置,只须变换一下脚本如下:
onEnterFrame=function(){
_root.circle._x=random(500);
_root.circle._y=random(300);
}
只不过这时候,圆移动的很快,你可以进行改进。
展开全部
我引用的别人的,里面的更齐全,不需要的可以删掉
1、新建一个flash8.0的文档,背景颜色自定
2、插入——新建元件——类型:影片剪辑——名称:萤火虫(随便的)
在图层一的第一帧上用椭圆工具画一个无边线放射状填充,大小为 2.5*6 的椭圆。(色块参考:左右均为白色,右色块透明度为0,中间为红色,透明度40到60之间)
分别选中第3和第5帧,按F6插入关键帧,第3帧上改变一下椭圆的大小,然后选中图层一,到属性面板创建形状补间。
3、回到主场景,把萤火虫元件拖入场景,并做全居中对齐,到属性面板给元件起实例名:虫,在元件上点右键打开动作面板,输入语句:
onClipEvent (load) {
v = 3;
//速度
_rotation = random(360);
//让虫旋转为任意一角度。
}
onClipEvent (enterFrame) {
k = Math.pow(-1, random(2));
//随机产生1和-1。
_rotation += k*random(11);
//让虫旋转为-10到10之间。
a = _rotation*Math.PI/180;
//将角度转化为弧度。
dx = Math.cos(a)*v;
dy = Math.sin(a)*v;
//横纵坐标的移动量。
_x += dx;
_y += dy;
//限定虫移动的范围。(重点)
//解析:先确定范围。(宽:50--550;高:50--400)
if (_x<=50 && dx<0 || _x>=550 && dx>0) {
_rotation = Math.atan2(dy, -dx)*180/Math.PI;
}
//超出限定范围时,按照上面条件改变dx,
//并用Math.atan2使旋转角度发生相应变化,让运动方向改变。
if (_y<=50 && dy<0 || _y>=400 && dy>0) {
_rotation = Math.atan2(-dy, dx)*180/Math.PI;
}
//原理同上。
}
4、插入新图层改名:AS,在AS图层的第一帧上输入语句:
for (i=1; i<=30; i++) {
//循环,30为要复制“虫”的个数。
虫.duplicateMovieClip("虫"+i, i);
//复制30只虫。
with (this["虫"+i]) {
_x = random(Stage.width);
//Stage.width为舞台宽。
_y = random(Stage.height);
//Stage.height为舞台高。
}
//让虫分布在舞台每个角落。
col = random(16777215);
xzcol = new Color("虫"+i);
xzcol.setRGB(col);
}
1、新建一个flash8.0的文档,背景颜色自定
2、插入——新建元件——类型:影片剪辑——名称:萤火虫(随便的)
在图层一的第一帧上用椭圆工具画一个无边线放射状填充,大小为 2.5*6 的椭圆。(色块参考:左右均为白色,右色块透明度为0,中间为红色,透明度40到60之间)
分别选中第3和第5帧,按F6插入关键帧,第3帧上改变一下椭圆的大小,然后选中图层一,到属性面板创建形状补间。
3、回到主场景,把萤火虫元件拖入场景,并做全居中对齐,到属性面板给元件起实例名:虫,在元件上点右键打开动作面板,输入语句:
onClipEvent (load) {
v = 3;
//速度
_rotation = random(360);
//让虫旋转为任意一角度。
}
onClipEvent (enterFrame) {
k = Math.pow(-1, random(2));
//随机产生1和-1。
_rotation += k*random(11);
//让虫旋转为-10到10之间。
a = _rotation*Math.PI/180;
//将角度转化为弧度。
dx = Math.cos(a)*v;
dy = Math.sin(a)*v;
//横纵坐标的移动量。
_x += dx;
_y += dy;
//限定虫移动的范围。(重点)
//解析:先确定范围。(宽:50--550;高:50--400)
if (_x<=50 && dx<0 || _x>=550 && dx>0) {
_rotation = Math.atan2(dy, -dx)*180/Math.PI;
}
//超出限定范围时,按照上面条件改变dx,
//并用Math.atan2使旋转角度发生相应变化,让运动方向改变。
if (_y<=50 && dy<0 || _y>=400 && dy>0) {
_rotation = Math.atan2(-dy, dx)*180/Math.PI;
}
//原理同上。
}
4、插入新图层改名:AS,在AS图层的第一帧上输入语句:
for (i=1; i<=30; i++) {
//循环,30为要复制“虫”的个数。
虫.duplicateMovieClip("虫"+i, i);
//复制30只虫。
with (this["虫"+i]) {
_x = random(Stage.width);
//Stage.width为舞台宽。
_y = random(Stage.height);
//Stage.height为舞台高。
}
//让虫分布在舞台每个角落。
col = random(16777215);
xzcol = new Color("虫"+i);
xzcol.setRGB(col);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询