AS脚本代码解释onClipEvent (load){ab = _parent.circle2;}onClipEvent (enterFrame){ac = ab._width / 2 - 5;mpos = Math.sqrt(ab._xmouse * ab._xmouse + ab._ymouse * ab._ymouse);if (ac < mpos){h = ac / mpos;_x = ab._xmouse * h + ab._x;_y = ab._ymouse
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/20 01:40:38
AS脚本代码解释onClipEvent (load){ab = _parent.circle2;}onClipEvent (enterFrame){ac = ab._width / 2 - 5;mpos = Math.sqrt(ab._xmouse * ab._xmouse + ab._ymouse * ab._ymouse);if (ac < mpos){h = ac / mpos;_x = ab._xmouse * h + ab._x;_y = ab._ymouse
AS脚本代码解释
onClipEvent (load)
{
ab = _parent.circle2;
}
onClipEvent (enterFrame)
{
ac = ab._width / 2 - 5;
mpos = Math.sqrt(ab._xmouse * ab._xmouse + ab._ymouse * ab._ymouse);
if (ac < mpos)
{
h = ac / mpos;
_x = ab._xmouse * h + ab._x;
_y = ab._ymouse * h + ab._y;
}
else
{
_x = _parent._xmouse;
_y = _parent._ymouse;
} // end if
updateAfterEvent();
}
onClipEvent (mouseDown)
{
if (_parent.hitme.hitTest(_root._xmouse,_root._ymouse))
{
} // end if
}
onClipEvent (mouseUp)
{
}
这个是眼珠子转动的代码 ,里面的对象有点乱 ,估计高手一看你就知道 ,我就不费力找了,我想了解下这个眼睛转动的设计思想是什么,
AS脚本代码解释onClipEvent (load){ab = _parent.circle2;}onClipEvent (enterFrame){ac = ab._width / 2 - 5;mpos = Math.sqrt(ab._xmouse * ab._xmouse + ab._ymouse * ab._ymouse);if (ac < mpos){h = ac / mpos;_x = ab._xmouse * h + ab._x;_y = ab._ymouse
主要注意flash的坐标和数学上的坐标y轴是方向相反的.数学上是向上,flash向下.flash的左上角是原点.
另外一个问题是这个眼珠随鼠标转动的实现中,是以眼珠正常位置的那个点作为原点(以下简称眼框原点).
鼠标所在位置,眼珠偏离时候所在位置和眼框原点3点一线.这样就让人看起来眼珠一直看着鼠标.
要实现的话,就是说,两两之间连线与X水平夹角要相同.
先算眼眶原点和鼠标的距离.除以(鼠标x坐标-眼框原点的x坐标),计算出水平夹角的cos值.
再用这个cos值去乘眼珠相对于眼框原点偏离的距离,得到眼珠必须处于的x偏离坐标.再+上眼框原点X坐标,得到这个眼珠在舞台上的绝对X坐标.
同理得出眼珠Y坐标.