| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > ActionScript教程 > 文章正文 用户登录
圆形分格统计图表
纯AS绘制圆形的一
关键的缓冲公式的
as的画圆形的动画
FormulaParser公式

圆形公式的运用           

圆形公式的运用

作者:佚名 来源:闪吧 作者: 龙族酷少 更新:2007-1-13 20:48:58 错误报告 我要投稿

在FLASH编程中,经常要用到圆形公式,我们可以使用三角函数公式来表示一个圆形,比如让一个影片或物体绕圆形轨道旋转,就要将这个物体的坐标用三角函数来表示,或者用圆形的坐标公式也可以实现,就是圆心是原点的圆形上的点的X坐标和Y坐标的平方和等于半径的平方,当然圆心不在原点的时候,只要将点的XY坐标分别减去圆心的XY坐标就可以了。下面根据两个例子分别介绍这两种情况:
思路一:新建一文件,然后新建一影片,拖到主场景以后,选中影片,在动作面板中写:
onClipEvent(load){
j = 0;
r = 50;
x0 = 200;
y0 = 200;
}
onClipEvent(enterFrame){
   j-=40;
   this._x = x0 + r*Math.cos(j/(180/Math.PI));
   this._y = y0 + r*Math.sin(j/(180/Math.PI));//这里就是将影片的XY坐标用圆的三角函数表示
   }

点击浏览该文件

点击浏览该文件

思路二:好象有位朋友问过这个问题,就是拖动一个四边形的一个端点,保持各个边都不变,就是平行四边形,这时候我们应该考虑用圆形公式来解决,就是让四边形可拖动的这个点限制在一个圆形的轨道上运动,这样,边长就始终等于圆的半径了,也就达到目的了

新建四个影片,拖到主场景中,分别命名为 a b c d ,然后在第一桢上写:

_root.onLoad = function(){
a._x=b._x=100;
a._y=d._y=100;
b._y=c._y=200;
d._x=c._x=300;
}
_root.onEnterFrame = function() {
      clear();
      lineStyle(2,0xff0000,50);
      moveTo(a._x, a._y);
      lineTo(b._x, b._y);
      lineTo(c._x, c._y);
      lineTo(d._x, d._y);
      lineTo(a._x, a._y);
updateAfterEvent();
}

然后,选中,右上角的点,也就是影片D,在动作面板中写:代码比较简单,关键是思路

on (press) {
   this.startDrag(true,200,100,400,300);
}
on (release, releaseOutside) {
   this.stopDrag();
}
onClipEvent (enterFrame) {
   _root.a._x = _root.d._x-200;
   _root.a._y = _root.d._y;
   if(_root.d._y<200){//下面两句是关键,就是根据圆形的坐标公式得到的,中学里就学过了
   _root.d._y = 200-Math.sqrt(10000-Math.pow(_root.d._x-300,2));
   }
   else{
   _root.d._y = 200+Math.sqrt(10000-Math.pow(_root.d._x-300,2));
      }
}

看看效果:
点击浏览该文件

点击浏览该文件


文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。