perl actionscript flash

Perl SWF:: Builder se desvanece en la imagen



actionscript flash (1)

Creo que falta la llamada para finalizar el script una vez que esté completo. ¿Qué pasa si haces lo siguiente?

my $onEnterFrameScript = " this.frameIndex += 1; if ((this._alpha < 100) && (this.frameIndex < this.fadeOutFrameIndex)) { this._alpha += this.apf; } else if (this.frameIndex > this.fadeOutFrameIndex) { this._alpha -= this.apf; if (this._alpha <= 0){ this._visible=false; delete this.onEnterFrame; } } ";

Observe la llamada "delete this.onEnterFrame"

Estoy trabajando en un script para crear archivos swf con imágenes fundidas de entrada / salida.

Este es mi código hasta ahora:

my %CONFIG = ( ''scriptURI'' => "data.js", ''imageFolder'' => "images/", ''outputFileName'' => ''testImg.swf'', ''delay'' => 3, # delay between images ''fps'' => 10, ''fadeFrame'' => 10 # 1 second fade in/out ); sub addImgToMovie { my $img = shift; my $frameNo = shift; my $movie = shift; my $movieClip = $movie -> new_mc(); my $jpeg = $movieClip -> new_jpeg($img); $jpeg -> place(Frame => 1); my $mc_i = $movieClip -> place(Frame => $frameNo); my $onloadScript = sprintf(" this._alpha = %d; this.apf = %f; this.frameIndex = %d; this.fadeOutFrameIndex = %d; ", 0, 100 / $CONFIG{''fadeFrame''}, 1, $CONFIG{''delay''} * $CONFIG{''fps''} - $CONFIG{''fadeFrame''}); $mc_i -> onClipEvent(''Load'') -> compile($onloadScript); my $onEnterFrameScript = " this.frameIndex += 1; if ((this._alpha < 100) && (this.frameIndex < this.fadeOutFrameIndex)) { this._alpha += this.apf; } else if (this.frameIndex > this.fadeOutFrameIndex) { this._alpha -= this.apf; } "; $mc_i -> onClipEvent(''EnterFrame'') -> compile($onEnterFrameScript); return $movie; } my $movie = SWF::Builder -> new( FrameRate => $CONFIG{''fps''}, FrameSize => [0, 0, 180, 163], BackgroundColor => ''ffffff'' ); my $img = $CONFIG{''imageFolder''} . "adimage1.jpg"; $movie = addImgToMovie($img, 1, $movie); $movie -> save($CONFIG{''outputFileName''});

La secuencia de comandos genera un archivo SWF, pero solo aparece y desaparece una vez, luego tengo una imagen en blanco.

De alguna manera depuré el archivo y descubrí que frameIndex sigue aumentando una y otra vez, así que sospecho que onEnterFrame sigue reproduciéndose, por lo tanto, el clip de película nunca se detiene.

¿Alguien podría ayudarme a resolver este problema? Me gustaría que el clip de película se detenga después de que la imagen se desvanezca por completo.