主题:  地狱天堂及路过的高手 请进!请教一个代码!

pissa

职务:普通成员
等级:2
金币:-1.0
发贴:293
注册:2003/3/14 18:32:48
#12004/10/15 22:45:08
全代码如下:
第一桢:
len=80
g=20
k=0.1
x=new Array(150,150,150,150,150)
y=new Array(40,40+len,40+2*len,40+3*len,40+4*len)
vx=new Array(0,0,0,0,0)
vy=new Array(0,0,0,0,0)
ax=new Array(0,0,0,0,0)
ay=new Array(0,0,0,0,0)
for(i=1;i<=9;i++){
    eval("s"+i).gotoAndPlay(Math.round(Math.random(1)*30)) //控制S1-9从0-30桢处随机开始播放 this idea is very good
}
第二桢: //对 字 和线的位置赋值
for(i=1;i<=4;i++){
    eval("f"+i)._x=x[i]
    eval("f"+i)._y=y[i]+17
    eval("l"+i)._x=(x[i-1]+x[i])/2
    eval("l"+i)._y=(y[i-1]+y[i])/2    
    eval("l"+i)._xscale=x[i]-x[i-1]
    eval("l"+i)._yscale=y[i]-y[i-1]
}
第三桢:
fa+=Math.random(1)*3-1.5
if(fa>6)fa=0
if(fa<-6)fa=0
for(i=1;i<=4;i++){
    ax[i]=fa+i*(Math.random(1)*1.4-0.7) //调节风力大小的系数
    ay[i]=g
}
for(i=1;i<=4;i++){
    vx[i]+=ax[i]
    vy[i]+=ay[i]
    x[i]+=vx[i]
    y[i]+=vy[i]
    l=Math.sqrt((x[i-1]-x[i])*(x[i-1]-x[i])+(y[i-1]-y[i])*(y[i-1]-y[i]))
    if(l>len){
        v=Math.sqrt(vx[i]*vx[i]+vy[i]+vy[i])
        vx[i]=v*(y[i]-y[i-1])/l
        vy[i]=v*(x[i-1]-x[i])/l
        x[i]=x[i-1]+(x[i]-x[i-1])*len/l
        y[i]=y[i-1]+(y[i]-y[i-1])*len/l
    }
}
gotoAndPlay(2)


//其中:有4个MC实例命名为f1,f2,f3,f4 ; 还有4个命名为l1,l2,l3,l4;另外还有s1,s2,s3,s4,s5,s6,s7,s8,s9



pissa

职务:普通成员
等级:2
金币:-1.0
发贴:293
注册:2003/3/14 18:32:48
#22004/10/15 22:48:09
这是从帝国上下的代码 我对第三桢的代码 没看明白 希望高手能给讲解下。原代码没+注释,是我后面瞎写的。谢谢了



pissa

职务:普通成员
等级:2
金币:-1.0
发贴:293
注册:2003/3/14 18:32:48
#32004/10/15 22:50:08
原代码下载
相关文件:点这儿打开

效果如下:
Flash 动画



UndeadCraft

职务:版主
等级:4
金币:10.0
发贴:1993
注册:2001/5/28 17:37:43
#42004/10/19 14:25:38
第三桢你哪儿没看明白?
这个东东主要的一点是下面的圆要根据上面一个的位置来运动.



pissa

职务:普通成员
等级:2
金币:-1.0
发贴:293
注册:2003/3/14 18:32:48
#52004/10/19 23:02:56
感谢地狱天堂,我看了下代码。觉的有几点不了解:
1, 字之间的随机运动 应该是有关联的,就象你说的
引用:
第三桢你哪儿没看明白?
这个东东主要的一点是下面的圆要根据上面一个的位置来运动


2,作者这样反复的赋值是不是迷惑人而已?
vx[i]+=ax[i]
vy[i]+=ay[i]
x[i]+=vx[i]
y[i]+=vy[i]
3, l=Math.sqrt((x[i-1]-x[i])*(x[i-1]-x[i])+(y[i-1]-y[i])*(y[i-1]-y[i]))
这个是不是求两个圆间的距离的?为什么要去求呢?

4,在判断 l>len之后作者写的一段重赋值的语句
里面的算式我看不懂!(数学好差的-。-!)

先谢谢地狱天堂兄~



HBB

职务:普通成员
等级:1
金币:0.0
发贴:58
注册:2004/9/17 21:40:29
#62004/10/20 8:57:11
迷惑人??你去掉看看发生什么变化,就知道是派什么用场了

至于那个关系,不过就是球之间的长度,和速度,正如天堂说的,下面的球移动是取决上一个球的