加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

三角函数

发布时间:2020-12-15 18:42:45 所属栏目:百科 来源:网络整理
导读:三角函数在Flash动画中很有用,下面列举一下其有用的用法,注:myCircle是舞台上的一个圆形实例。 1,让某一物体做圆周运动。 this.addEventListener(Event.ENTER_FRAME,handleEnterFrame); var angle = 0; function handleEnterFrame(event:Event):void{ ?m
三角函数在Flash动画中很有用,下面列举一下其有用的用法,注:myCircle是舞台上的一个圆形实例。
1,让某一物体做圆周运动。
this.addEventListener(Event.ENTER_FRAME,handleEnterFrame);
var angle = 0;
function handleEnterFrame(event:Event):void{
?myCircle.y = 200 + Math.cos(angle)*180;
?myCircle.x = 200 + Math.cos(angle)*180;
?angle += 0.1;
}
这样,myCircle将围绕中心点(200,200)做半径为180的圆周运动;
与此类似,椭圆运动,只是让x,y可变化的长度不一样即可。如下示例:
var angle = 0;
function handleEnterFrame(event:Event):void{
?myCircle.y = 200 + Math.cos(angle)*180;
?myCircle.x = 200 + Math.cos(angle)*90;
?angle += 0.1;
}
2,让物体指向鼠标方向:
var angle = 0;
function handleEnterFrame(event:Event):void{
?myCircle.rotation = Math.atan2(mouseY-myCircle.y,mouseX-myCircle.x)*180/Math.PI;
}
这里,myCircle换为其他有菱角的物体效果更明显。
3,呈对角方向移动:原理是x、y每次变化都一致,所以每次都是myCircle.x = myCircle.y
var angle = 0;
function handleEnterFrame(event:Event):void{
?myCircle.y = 180 + Math.sin(angle)*180;
?myCircle.x = 180 + Math.sin(angle)*180;
?angle += 0.1;
}
4,无规律运动,给x、y的角度变化大小分别设定一个值,这样x跟y变化也变得无规律,显示出来就是整个屏幕中无规律移动:
var anglex = 0;
var angley = 0;
function handleEnterFrame(event:Event):void{
?myCircle.y = 180 + Math.sin(anglex)*180;
?myCircle.x = 180 + Math.sin(angley)*180;
?anglex += 0.1;
?angley += 0.2;
}
5,画正旋波:
var anglex = 0.5;
var angley = 0;
var xpos = 0;
var ypos = 0;
this.graphics.lineStyle(1,1)
this.graphics.moveTo(0,180);
function handleEnterFrame(event:Event):void{
?xpos += anglex;
?angley += 0.05;
?ypos = 180+Math.sin(angley)*180;
?this.graphics.lineTo(xpos,ypos);
}
其实就是让x每次变化1像素,y按正旋值变化。
上面的都是针对物体x、y进行变化的,也可将这些应用在rotation、scaleX、scaleY等属性上,可得到另外一些很有用的图形变化。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读