WEB开发网
开发学院图形图像Flash 第三章 三角学应用Ⅱ [FL 基理译] 阅读

第三章 三角学应用Ⅱ [FL 基理译]

 2009-05-30 12:08:41 来源:WEB开发网   
核心提示: package {import flash.display.Sprite;import flash.events.Event;public class Circle extends Sprite { private var ball:Ball; private var angle:Numb

package {
 import flash.display.Sprite;
 import flash.events.Event;
 public class Circle extends Sprite {
  private var ball:Ball;
  private var angle:Number = 0;
  private var centerX:Number = 200;
  private var centerY:Number = 200;
  private var radius:Number = 50;
  private var speed:Number = .1;
  public function Circle() {
   init();
  }
  private function init():void {
   ball = new Ball();
   addChild(ball);
   ball.x = 0;
   addEventListener(Event.ENTER_FRAME, onEnterFrame);
  }
  public function onEnterFrame(event:Event):void {
   ball.x = centerX + Math.cos(angle) * radius;
   ball.y = centerY + Math.sin(angle) * radius;
   angle += speed;
  }
 }
}

大家可以自己写这个例子,也可以打开 Circle.as 作为文档类。执行后发现,获得了一个完美的圆。这段代码的精华就是使用余弦来确定 x 坐标,使用正弦来确定 y 坐标,你应该对他们的关系非常了解了。在 Flash 中,只要提到 x ,你就应该马上想到余弦,并且还能联想到 y 使用正弦。请在最后这段代码上多花些时间,它将是 ActionScript 动画工具箱中最有用的工具之一。

椭圆运动

想要获得一个椭圆该怎么办呢,其实很简单,问题就在于半径。如果让x和y运动的大小相同,那么就得到一个圆。如果想得到一个椭圆形,我们只需要在计算x和y位置时使用不同的半径值: radiusX 和 radiusY 。从严格的几何观点来看,使用这两个名称实在不怎么好,但是它们确实非常简单易懂,也非常好记非常直观,所以我还是坚持使用这两个变量名。下面看看它们是如何配合的,见 Oval.as:

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:第三章 三角学 应用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接