主题:  请教高手,再问“mc绕一端旋转 ...”

cloudsea

职务:普通成员
等级:2
金币:1.0
发贴:442
#12002/2/24 17:13:07
src为旋转角度。mc绕底部端旋转。在mc上写:
onClipEvent(enterFrame){
h=this._height;
h=h/2;
_x+=(src<=180)?(Math.sqrt(1-Math.cos(src))*h)Math.sqrt(1-Math.cos(src))*(-h));
_y+=(1-Math.cos(src))*h;
_rotation += src;
}
上面的位移公式是我自己算出来的,可能是错误的吧。
哪位高手指点一下。多谢!

编辑历史:[这消息被cloudsea编辑过(编辑时间2002-02-24 20:32:25)]


foxet

职务:普通成员
等级:1
金币:1.0
发贴:163
#22002/2/24 18:31:38
按你的意思,绕一端旋转,只需要建MC时,把MC中心定在转动点就行了(具体这CASE,就是在一端);
_x,_y不用设;
除非你的MC除了旋转还有其它任务;

还有就是,HOURS?



cloudsea

职务:普通成员
等级:2
金币:1.0
发贴:442
#32002/2/24 20:34:41
多谢foxet,我去试试。



redsteps

职务:普通成员
等级:1
金币:1.0
发贴:144
#42002/2/24 21:02:48
onClipEvent (load) {
    src = 1;
}
onClipEvent (enterFrame) {
    this._rotation += src;
}



5D荣誉斑竹

职务:普通成员
等级:2
金币:2.0
发贴:617
#52002/2/24 21:41:25
onClipEvent (enterFrame) {
fore_y = 275;
fore_x = 275;
rod = 50;
rota = rota + 0.03;
_y = (rod*Math.sin(rota)) + fore_y;
_x = (rod*Math.cos(rota)) + fore_x;
}
其中fore_y 和 fore_x就是mc绕的圆心,你可以改变其大小随意控制它的位置,也可以将它设为变量!rota弧度值变量如果在判断语句中,可以实现你想要的一端旋转效果,rod值如果_x与_y取的不一样(rodx=num,rody=dinum)效果是椭圆。

编辑历史:[这消息被桃人编辑过(编辑时间2002-02-24 21:48:48)]


foxet

职务:普通成员
等级:1
金币:1.0
发贴:163
#62002/2/25 20:55:51
桃人在上个帖子中说
引用:
onClipEvent (enterFrame) {
fore_y = 275;
fore_x = 275;
rod = 50;
rota = rota + 0.03;
_y = (rod*Math.sin(rota)) + fore_y;
_x = (rod*Math.cos(rota)) + fore_x;
}
其中fore_y 和 fore_x就是mc绕的圆心,你可以改变其大小随意控制它的位置,也可以将它设为变量!rota弧度值变量如果在判断语句中,可以实现你想要的一端旋转效果,rod值如果_x与_y取的不一样(rodx=num,rody=dinum)效果是椭圆。


高中的数学运用得不错嘛;
^_^我比较喜欢物理:
这是平动;不是转动;



redsteps

职务:普通成员
等级:1
金币:1.0
发贴:144
#72002/2/26 14:27:04
foxet在上个帖子中说
引用:
桃人在上个帖子中说
引用:
onClipEvent (enterFrame) {
fore_y = 275;
fore_x = 275;
rod = 50;
rota = rota + 0.03;
_y = (rod*Math.sin(rota)) + fore_y;
_x = (rod*Math.cos(rota)) + fore_x;
}
其中fore_y 和 fore_x就是mc绕的圆心,你可以改变其大小随意控制它的位置,也可以将它设为变量!rota弧度值变量如果在判断语句中,可以实现你想要的一端旋转效果,rod值如果_x与_y取的不一样(rodx=num,rody=dinum)效果是椭圆。


高中的数学运用得不错嘛;
^_^我比较喜欢物理:
这是平动;不是转动;


这样:
onClipEvent (enterFrame) {
    fore_y = 275;
    fore_x = 275;
    rod = 50;
    rota = rota+0.03;
    _y = (rod*Math.sin(rota))+fore_y;
    _x = (rod*Math.cos(rota))+fore_x;
    _rotation = rota*180/Math.PI;
}
俺可是学物理的人



5D荣誉斑竹

职务:普通成员
等级:2
金币:2.0
发贴:617
#82002/2/27 15:08:03
昏~~看来已开始我的理解就有问题!
如果不嫌麻烦加一个连线函数就ok!