gnash-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnash-dev] gotoAndPlay() bug (was: Detect if a AS variable is visib


From: strk
Subject: Re: [Gnash-dev] gotoAndPlay() bug (was: Detect if a AS variable is visible in any variable?)
Date: Wed, 21 Feb 2007 17:38:24 +0100

On Tue, Feb 20, 2007 at 10:14:54AM +0100, Udo Giacomozzi wrote:
> Hello strk,
> 
> Monday, February 19, 2007, 10:07:14 PM, you wrote:
> s> See sprite_instance::_text_variables and
> s> sprite_instance::set_textfield_variable.
> 
> Thanks. Just noticed what I said about in the original posting is not
> true anymore.
> 
> However, I just noticed a weird behaviour of gotoAndPlay(): When it's
> argument is a constant, then it works fine. However, when I pass a
> variable to it, then it jumps to the frame after the desired one.
> 
> Maybe gotoAndPlay(<constant>) is translated to a static SWF tag?

I think we found out that gotoAndPlay(<constant>) is translated
to a GOTOFRAME nd gotoAndPlay(<variable>) is translated to
a GOTOEXPRESSION (or GOTOFRAME2) tag.
This is surely true for Ming, which uses gotoFrame for this "translation"
and leaves gotoAnd{Play,Stop} alone as function calls.
BTW, are you able to produce gotoAnd{Play,Stop} as function calls
with your compiler ? (looking for a better handling of rthis in Ming).

> Anyway, I tried to find the reason for this and noticed
> sprite_instance::sprite_goto_and_play() gets never called in either
> cases. Where is gotoAndPlay() handled?

The GOTOFRAME and GOTOEXPRESSION swf *tags* are handled in 
server/vm/ASHandlers.cpp.
The gotoAnd{Play,Stop} functions are handled in sprite_instance.cpp.

Boths should fianlly call sprite_instance::goto_frame()

--strk;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]