第三章 三角学应用Ⅱ [FL 基理译]
2009-05-30 12:08:41 来源:WEB开发网原理是一样的,centerScale表示100%的缩放比, range 表示范围, speed 表示速度。不仅如此,正弦波还在 alpha,rotation 等属性中应用。
双角波形
再给大家一种思想:设置两套数值 angle1 和 angle2,为它们各自增加一个中心点(center)和速度(speed)值。用一个正弦波作为一种属性,另一个正弦波作为另一种属性,比如位置或缩放。我不敢保证能够得到什么有用的结果,但这样做的话,就等于让这些函数自由发挥作用。
从 Random.as 文档类开始,这里面拥有两个角度(angle),两个速度(speed)和两个中心点(center),将其中一个角(angle1)作为小球的X坐标,另一个角(angle2)作为Y坐标。运行程序时,就像只虫子在房间里飞,虽然这些数字都是预先定义好的,但结果却没有什么规律可言。代码如下:
package {
import flash.display.Sprite;
import flash.events.Event;
public class Random extends Sprite {
private var ball:Ball;
private var angleX:Number = 0;
private var angleY:Number = 0;
private var centerX:Number = 200;
private var centerY:Number = 200;
private var range:Number = 50;
private var xspeed:Number = .07;
private var yspeed:Number = .11;
public function Random() {
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.sin(angleX) * range;
ball.y = centerY + Math.sin(angleY) * range;
angleX += xspeed;
angleY += yspeed;
}
}
}
更多精彩
赞助商链接