哦,你看的是《actionscript 权威指南》这本书,这本书很好,值得好好学习。
function moveBall_1(){
Ball._x += 10;
Ball._y += 10;
}
function moveBall_2(){
Ball._x += 10;
Ball._y -= 15;
}
问题1:moveBall_1()函数执行的时候,小球是向屏幕右下角方向运动的。moveBall_2()函数执行的时候小球向屏幕右上角运动,x和y轴上不同的增量当然会使得小球运动的距离不同了。如果希望小球向任意方向运动的距离都一样的话,应该使用三角函数值来实现,一会我用函数封装的形式给你例子。
问题2:例子中的movieClip()函数是经过封装后的函数,我们编写自定义函数的时候应该像这样编写。封装后的函数它的灵活性体现在函数可以应用到不同的对象上,而且可以使用不同的参数达到不同的效果,因此函数在重复使用的时候非常方便。第一种函数的写法,只能固定对一个对象进行操作,而封装后的函数可以用参数的形式来指定。
例如,movieClip(Ball1, 10, 10)可以让Ball1向右下角运动,movieClip(Ball2, -20, -20)可以让Ball2向左上角以更双倍的距离移动。我做了一个复制多个小球,并让小球以不同方向等距离(即相同的速度)运动。如果用第一种函数来写moveBall()的话用起来就没有这么方便了。代码如下:
//radius是小球每次运动的距离,即小球运动的速度
var radius:Number = 10;
//total是小球的数量
var total:Number = 30;
ball._visible = false;
duplicateBall(ball, total);
function duplicateBall(obj, num)
{
for (var i:Number = 1; i <= num; i++)
{
duplicateMovieClip(obj, "ball" + i, i);
}
}
this.onEnterFrame = function()
{
for (var n:Number = 1; n <= total; n++)
{
moveBall(this["ball" + n], radius, (n-1) * (360/total) * Math.PI / 180);
}
if (ball1._x < 0 || ball1._x > Stage.width)
{
duplicateBall(ball, total);
}
};
function moveBall(mc, distance, angle)
{
mc._x += distance * Math.cos(angle);
mc._y += distance * Math.sin(angle);
}
请教FLASH AS2.0函数调用的二个疑问
function moveBall_1(){ Ball._x += 10; Ball._y += 10;}function moveBall_2(){ Ball._x += 10; Ball._y -= 15;}问题1:moveBall_1()函数执行的时候,小球是向屏幕右下角方向运动的。moveBall_2()函数执行的时候小球向屏幕右上角运动,x和y轴上不同的增量当然会使得小球...
关于Flash通过As2.0调用网络图片的若干问题。
1 将发布设置选择成“只访问网络”,在本地磁盘打不开是正常的,如果把那个swf文件上传到网上,是可以正常显示的。2 一般有合法网址的图片都可以被flash调用,但是有些网站内的相册的图片却无法正常显示,这是因为某些网站的网址不能被检索到,相册的就更不一定了。3 Flash调用的图片所在网址的网速慢的...
请求FLASH as2.0的Number()函数问题!!!急!!
NaN意思是Not a Number,不是一个数字 说明没有数字输入 也有时候表示输入的不是数字 数字一般不用_root.food_number.text来使用 要显示文本就可以这样用 数字一般用_root.n来使用,n就是一个变量 然后,在输入文本框中设置变量为n 当n不是数字的时候,输出值一样为“NaN”...
关于flash中通过AS2.0代码实现点击按钮跳转到mc指定帧的疑问!
第三帧:botton1.onRelease = function(){ _root.frame2 = 1;gotoAndStop(2);\/\/首先要跳到第二帧 } 第二帧:if(_root.frame2 == 1) P2.gotoAndPlay(11);播放完时:在所在帧处写入代码:_root.frame2 = 0 需要注意的是:按钮要想控制mc的内容,须要在同一个帧里面才行 ...
[Flash] AS2.0中 关于 数组操作 和 排序效率 的疑问
var tester2 = tester;我不清楚你是否明白这种其实只是地址引用 而不是值对象的复制 意思是说 先用你的自定义方法排好序 然后再调用系统方法 对这个排好序的数组再排一次 把tester[i] = random(1000000);改成 tester[i] = i;然后分别注释下面两部分(运行一个 不同时运行两个)得出的结果 ...
FLASH:我有个问题想问下AS2.0的文件从外部引用
_lockroot = true 锁定加载的swf的root引用。
关于FLASH脚本AS2.0冲突问题
你的程序有很多问题,举几个例子如: Obj._visible = false;就显示不了星星了。Obj.duplicateMovieClip('a'+i, i++);应为Obj.duplicateMovieClip(“a"+i, i++);if (i>100){ i = 0;} 应为if (i>200){ i = 100;} 还有一些 ...
flash as2.0 调用外部的音频怎样循环播放这段音频
看看你的代码,有一个start()吧 在小括号内,有两个参数。第一个指定开始播放的时间,第二个指定播放的次数 所以,可以写成 start(0,50)\/\/表示重复播放50遍
一个简单的flash as2.0代码的意思和用法。
在音乐文件上点右键,选择“链接”【flash8没有这个链接,你需要选择属性 然后再切换到AS】在弹出的对话框内 单击“为ActionScript导出”之后,在标识符那里输入 a1 设置完毕后 会在链接那里出现 导出:a1 这样一来,就可以出来效果了 另外,代码第二行小括号内的this是多余的 请去掉它。修改完毕是这样...
FLASH AS2.0 return函数的疑问
这里不必要return返回值的使用 当然也可以在某些值的获取上使用returen