|
主题: 怎么做物体碰撞然后弹开的效果?比如台球.?
|
 Fierce
职务:普通成员
等级:2
金币:10.0
发贴:468
|
#12001/9/30 15:49:54
最好详细讲解一下 谢谢
|
 hacker hacking
职务:普通成员
等级:4
金币:10.0
发贴:1629
|
#22001/9/30 23:13:54
对不起 我是新手 难道这种效果个人可以做吗? 为什么不找现成的
|
 激动的眼泪水
职务:普通成员
等级:1
金币:0.0
发贴:44
|
#32001/10/1 0:00:48
去FLASHKIT。COM有源文件、
|
 Fierce
职务:普通成员
等级:2
金币:10.0
发贴:468
|
#42001/10/1 0:33:20
flashkit所有的script我都有 但是没看到过这个 谁有源码提供一下?
|
 Demon.S
职务:版主
等级:5
金币:10.0
发贴:2468
|
#52001/10/1 12:35:54
mc._x/yscale=-(mc._x/yscale);
|
 Fierce
职务:普通成员
等级:2
金币:10.0
发贴:468
|
#62001/10/1 14:34:03
用hittest检测? 但是hittest检测的mc好像热区好像只能检测方形的mc啊...
|
 激动的眼泪水
职务:普通成员
等级:1
金币:0.0
发贴:44
|
#72001/10/1 16:01:45
主要是用半径来检测, 不用hittest
my_radius=(this._width)/2 my_x=this._x my_y=this._y my_n=this._name if(ymov=""){ ymov=Radom(_root.speed)+1 xmov=Random(_root.speed)+1 ysign=random(2)-1 if(ysign=0){ ysign=1 } xsign=random(2)-1 if(xsign=0){ xsign=1 } xmov=xmov*xsign ymov=ymov*ysign }
if(my_x<=(my_radius+_root.speed)){ xmov=-xmov my_x=my_radius+_root.speed } if(my_y<=my_radius+_root.speed){ ymov=-ymov my_y=my_radius+_root.speed } if(my_x>=550-my_radius-_root.speed){ xmov=-xmov my_x=550-my_radius-_root.speed} if(my_y>=400-my_radius-_root.speed){ xmov=-xmov my_y=400-my_radius-_root.speed} n=1
loop while(n<=_root.total_circles){
if(n!=my_n){ n_x=_parent.n._x n_y=_parent.n._y n_radius=(_parent.n._width)/2 delta_x=my_x+xmov-(n_x) delta_y=my_y+ymov-(n_y) if(Math.pow(Math.abs(delta_x),2)+Math.pow(Math.abs(delta_y),2)<=2*Math.pow(Math.abs(my_radius+n_radius))){ nx=Eval(_parent.n.xmov) ny=Eval(_parent.n.ymov) tempx=xmov xmov=nx _parent.n.xmov=tempx tempy=ymov ymov=ny _parent.n.ymov=tempy _parent.n.collison=my_n} } n=n+1 } this._x=my_x+xmov this._y=my_y+ymov
编辑历史:[这消息被激动的眼泪水编辑过(编辑时间2001-10-01 16:04:17)]
|
 Fierce
职务:普通成员
等级:2
金币:10.0
发贴:468
|
#82001/10/1 16:20:16
哇 这么多.....  把源码给我吧?
|
 激动的眼泪水
职务:普通成员
等级:1
金币:0.0
发贴:44
|
#92001/10/1 23:22:33
tell me qq
|
 Fierce
职务:普通成员
等级:2
金币:10.0
发贴:468
|
#102001/10/2 15:16:16
6577192 可以发我信箱 fierce@fm365.com
|
 janlay
职务:管理员
等级:7
金币:28.0
发贴:7244
|
#112001/10/3 16:43:53
碰撞检测不难,我认为主要是法线和动量计算上比较麻烦
|
 激动的眼泪水
职务:普通成员
等级:1
金币:0.0
发贴:44
|
#122001/10/3 17:48:30
圆与圆之间的碰撞, 速度的改变都是都是沿着法线方向的, 所以, 只要将建速度改变符号即可
tutorial 见http://www.flashkit.com/tutorials/Actionscripting/Expert/Circle_C-Flash_Ju-74/index.shtml
还是4版的, 但很有用, 这里有一个bug,当圆到角上时就会停住,所以,还要修改一下
编辑历史:[这消息被激动的眼泪水编辑过(编辑时间2001-10-03 17:55:06)]
|
 bigflyman
职务:普通成员
等级:1
金币:0.0
发贴:87
|
#132001/10/6 13:11:28
现在用flash5.0很容易做到
|