Pregunta

Me gustaría hacer una animación simple (en bucle) (mover, cambiar alfa, etc.) en Haxe (flash9). No tengo nada que se parezca a los marcos en mi biblioteca, solo activos de un solo marco.

Ya que soy un principiante. No estoy necesariamente buscando un marco sofisticado. Estaría contento con algo rápido & amp; sucio. Tal vez if está comprobando el frame (variable de clase) e interpolando linealmente los valores.

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
    }

}

Conozco la idea básica de la animación de fotogramas clave. Lo que busco es más sobre cómo estructurar esta parte del programa .

¿Puede darme algunos consejos sobre cómo debo proceder?

¿Fue útil?

Solución

Si desea hacer animaciones, le recomendaría utilizar una biblioteca interpolación , aunque entiendo que es posible que desee aprender los conceptos básicos antes de "hacer trampa" más allá de ellos.

Recomendaría conectar sus animaciones al evento ENTER_FRAME en lugar de un temporizador que se ejecute a la misma velocidad que su velocidad de fotogramas. Realmente no hay necesidad de desacoplar estos dos, ya que el temporizador no es más confiable que el evento ENTER_FRAME, y no hay necesidad de mover cosas si no se puede ver de todos modos.

Además, no creo que debas enfocarte tanto en "fotograma clave" animación. Ese es un concepto útil cuando tiene fotogramas clave, si no lo hace, es mucho más práctico hacer lo que se siente como la mejor manera de implementar esto.

Pondría un código aquí, pero me está costando un poco encontrarlo, ya que no estoy muy seguro de lo que estás tratando de lograr aquí.

Otros consejos

Probablemente valga la pena leer chapter7_tweening.pdf del libro de Robert Penner, aunque ahora muy desactualizado en términos del código, cubre el concepto de interpolación.

Pero quizás no valga la pena reinventar la rueda ...

Feffect es un buen motor de interpolación multiplataforma, Actuar es más simple de usar y rápido. El uso de macros para interpolación es quizás el mejor enfoque, pero quizás sea un poco complejo comenzar ( campanita ).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top