[1b]两点间距离:[/1b]
[1b]AS表示:[/1b]
[1b]
[url=http://blog.sina.com.cn/main/html/showpic.html#url=http://static2.photo.sina.com.cn/orignal/3ecb9b1144505c3345c11][/url]
[/1b]
[1b]
Math.sqrt(Math.pow((p1._x-p2._x),2)+Math.pow((p1._y-p2._y),2))
[/1b]
由这个公式可以推导出某点与原点距离公式:因为原点坐标为(0,0),所以公式变形如下:
[1b]Math.sqrt(p1._x * p1._x + p1._y * p1._y)[/1b]
[1b]下面我们就来运用这两个公式来制作一些效果[/1b]
[1b]实例一:旋转指针
[/1b]
[1b]步骤一:
[/1b]绘制一指针,保存为影片剪辑,注册点在指针根部,实例名为"pointer"
[1b]步骤二:[/1b]在第一帧加入AS代码(正切函数):
[1b]pointer.onMouseMove = function() {
var dx = _xmouse-this._x;
var dy = _ymouse-this._y;
var theta = Math.atan2(dy, dx);
[/1b] //使用正切函数求出夹角
[1b] this._rotation = theta/Math.PI*180;
[/1b] //将弧度转换为角度
[1b]};[/1b]
在第一帧加入AS代码(反余弦函数):
[1b]pointer.onMouseMove = function() {
var dx = _xmouse-this._x;
var dy = _ymouse-this._y;
var r = Math.sqrt(dx*dx+dy*dy);
[/1b] //r为点与鼠标的直线距离,这里也是斜边r
[1b] var theta = Math.acos(dx/r)*Math.abs(dy)/dy;
[/1b] //使用反余弦函数求出夹角
[1b] this._rotation = theta/Math.PI*180;
[/1b] //将弧度转换为角度
[1b]};[/1b]
[1b]实例二:泡泡效果[/1b]
[1b][/1b]
[1b]
[/1b]
思路:
通过判断鼠标的移动距离改变复制出泡泡的大小,移动得越远,泡泡越大
[1b]步骤一:
绘制泡泡,保存为影片剪辑,连接—>导出—>标志符"bubble"
[/1b]
本文转自:http://www.5uflash.com/flashjiaocheng/Flashaschengxu/561.html