저는 AS3을 사용하여 베 지어 곡선을 애니메이션하는 가장 좋은 방법을 찾으려고 노력했습니다. 이것에 의해 지금까지 가장 좋은 해결책은 다음과 같습니다.AS3을 사용하여 베 지어 곡선을 애니메이션화하는 방법은 무엇입니까?
import flash.display.*;
import flash.display.Sprite;
import flash.geom.*;
import com.greensock.TweenMax;
import com.greensock.easing.*;
public class Waves extends MovieClip
{
public var piste:Number = stage.stageHeight;
public var piste2:Number = 0;
var a:Sprite = new Sprite();
var coord:Vector.<Number> = new Vector.<Number>();
var com:Vector.<int> = new Vector.<int>();
public function Waves()
{
addChild(a);
coord.push(0, 30);
com.push(1);
coord.push(260, piste, stage.stageWidth, 30);
com.push(3);
tweenNumbers();
}
public function tweenNumbers():void {
TweenMax.to(this, 0.45, {piste:piste2, repeat:-1, yoyo:true, immediateRender:true, ease:Expo.easeOut, onUpdate:draw});
}
public function draw():void {
coord[3] = piste;
a.graphics.clear();
a.graphics.lineStyle(1,0x990000,1);
a.graphics.drawPath(com, coord);
}
}
커브를 움직이게하려면 실제로 graphics.clear를 사용해야합니까? 더 효율적인 방법이 있습니까? 트위닝이 1 초보다 빠르면 렌더링이 지연되고 이전 줄을 볼 수 있습니다. 제거 할 방법이 있습니까?
내가 제공 한 방법을 사용했지만 지연이 여전히있었습니다. 그런 다음 다시 영화의 프레임 속도를 높이면 문제가 사라졌습니다. 나는 항상 실제 렌더링 및 애니 메이톤 프레임 속도가 플래시에 첨부되어 있지 않다고 생각했습니다. TweenMax 라이브러리를 사용하는 버전이 위 코드만큼 빠르다는 것을 알았 기 때문에 사용하기 쉽기 때문에 계속 사용하고 있습니다. TweenMax의 버전은 12입니다. –