문제

Haxe (Flash9)에서 간단한 (루핑) 애니메이션 (이동, 알파 등)을하고 싶습니다. 내 라이브러리의 프레임과 유사한 것이없고 단일 프레임 자산 만 있습니다.

나는 초보자이기 때문에. 반드시 정교한 프레임 워크를 찾고있는 것은 아닙니다. 나는 빠르고 더러운 것에 만족할 것입니다. 아마도 ifs 확인 frame (클래스 변수) 및 값을 선형으로 보간합니다.

class MyClass extends Sprite {
    static var frame:Int = 0;
    static inline var framerate:Int = 25;

    static function main() {
        var app:MyClass = new MyClass();
        flash.Lib.current.addChild(app);
    }

    private function new() {
        super();

        // init assets here

        var myTimer:Timer = new Timer(1000/framerate);
        myTimer.addEventListener(TimerEvent.TIMER, animate);
        myTimer.start();
    }

    function animateForeground(event:TimerEvent) {
        frame = (frame + 1) % 1000;

        // set new values depending on frame
    }

}

KeyFrame 애니메이션의 기본 아이디어를 알고 있습니다. 내가 찾고있는 것은 더 많은 것입니다 프로그램 의이 부분을 구성하는 방법.

어떻게 진행 해야하는지에 대한 조언을 알려 주시겠습니까?

도움이 되었습니까?

해결책

애니메이션을하고 싶다면 트윈 도서관, 나는 당신이 그들을 과거에 "속임수"하기 전에 기본 사항을 배우고 싶을지도 모른다는 것을 이해합니다.

프레임 속도와 동일한 속도로 실행되는 타이머 대신 Enter_Frame 이벤트에 애니메이션을 연결하는 것이 좋습니다. 타이머는 Enter_Frame 이벤트보다 더 신뢰할 수 없기 때문에이 두 가지를 분리 할 필요가 없으며, 어쨌든 볼 수 없다면 물건을 움직일 필요가 없습니다.

또한 "키 프레임"애니메이션에 그다지 집중해야한다고 생각하지 않습니다. 그것은 당신이있을 때 유용한 개념입니다 가지다 키 프레임, 당신이 이것을 구현하는 가장 좋은 방법처럼 느끼기 위해 더 실용적이지 않다면 더 실용적입니다.

나는 여기에 몇 가지 코드를 넣을 것이지만, 나는 당신이 여기서 달성하려는 것을 정말로 확신하지 못하기 때문에 약간 어려움을 겪고 있습니다.

다른 팁

아마도 읽을 가치가있을 것입니다 챕터 7_tweening.pdf Robert Penner의 저서에서, 현재 코드 측면에서 가장 오래된 것이지만 트윈의 개념을 다룹니다.

하지만 바퀴를 재창조 할 가치가 없을 수도 있습니다 ...

feffectS는 좋은 크로스 플랫폼 트윈 엔진입니다. 행동하십시오 사용하기가 더 간단하고 빠릅니다. 트윈에 매크로를 사용하는 것이 가장 좋은 방법 일지 모르지만 시작하기가 약간 복잡 할 수 있습니다 ( 팅커벨 ).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top