[flash] gotoAndPlay (jawel!)

Pagina: 1
Acties:

  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

Topicstarter
Oke, ik zit met een maf probleem. Ik heb een main movie die eigenlijk alleen dienst doet als preloader. Deze main movie is als volgt opgebouwt:

frame 1: version check
- versie < 6: gotoAndPlay(5)
- versie >= 6: gotoAndPlay(10)

Ipv. 5 en 10 gebruik ik labels, maar er wordt wel naar die frames gesprongen.
Punt is: de eerste keer dat de flash start (en deze dus nog niet in de browser cache staat) dan strandt de player ergens in frame 4 of 9 (in versie 6 van de player, welteverstaan). Op een refresh van de browser, springt deze wel naar frame 10 waar de preloader start. MAAR: alleen in Netscape en Mozilla. Internet Explorer blijft stug steken in frame 9 en beging nog niet eens aan de preloader... |:(

Ik heb eigenlijk geen idee hoe dit komt. Kan me voorstellen dat het heeft te maken met het laden van de main movie zelf ofzo, maar het ding is maar 10k...

Wat moet ik hier nou mee?

[ specs ] [ Tweaker gallery ]


  • tie-rep
  • Registratie: Oktober 2001
  • Laatst online: 19-02 15:56

tie-rep

nu met ir. !

Explore schreef op 17 oktober 2002 @ 23:41:
<knip>
Wat moet ik hier nou mee?
even de .fla / code posten :)

Dit is een probleem wat waarschijnlijk in de syntax zit, waar jij nu overheen kijkt....

  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

Topicstarter
Ik kan de fla niet posten, maar 't echt poepsimpel:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
frame 1:

version = eval($version);
// pak 't versie nummer hieruit met substring, blabla...
if (version < 6) gotoAndPlay('quit');
if (version >= 6) gotoAndPlay('loader');

frame 5: (label 'quit')

stop();

frame 10: (label 'loader')

// bla... preloader obect, etc...

[ specs ] [ Tweaker gallery ]


  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

Topicstarter
Goed, 'k heb een leeg fla'tje gemaakt, met alleen het betreffende stukje code er in. En wat bleek: met ALLEEN de code in de FLA/SWF werkt 't prima! |:( Dus ik heb nu een image in frame 10 gegooid en wat blijkt nu: de image staat er alleen als je vanuit Flash een preview bekijkt. In de browser staat er geen plaatje. :? Dit is dus een soortgelijk probleem als ik bedoel.

Het geheel kan je hier vinden.

Wat is hier nou aan de hand???

[ specs ] [ Tweaker gallery ]


  • cjs
  • Registratie: Maart 2001
  • Niet online

cjs

Macromedian

Dat het plaatje niet zichtbaar is, is een laad-probleem: je springt al naar het frame met het plaatje voordat deze geheel geladen is. In Flash moet je altijd zeker weten dat een frame geladen is, als je een goto-actie gebruikt, anders kun je standaard dit soort ongein verwachten.

BDW, gebruik om de flash-versie te achterhalen beter deze code:
code:
1
iVersion = $Version.split(' ')[1].split(',')[0];

Afhankelijk van het platform kan het versie-nummer ook pas het zesde teken in de string zijn.

Gemiddelde Nederlanders zijn maar halve Nederlanders.


  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

Topicstarter
Na m'n nachtelijke spitactie had ik al zo'n vermoeden. Alleen hoe weet je of een frame geladen is? Ik zag in een voorbeeld van Moock dat hij een loadManager gemaakt had, die hij eerst toepastte op de eigen movie - wat mijn vermoeden bevestigde - en daarna pas op de externe movies die geladen werden. Is er nog een of andere methode? Lijkt me toch van cruciaal belang, dit soort dingen.

Bedankt voor de versie-code. Ziet er goed uit!

[ specs ] [ Tweaker gallery ]


  • tie-rep
  • Registratie: Oktober 2001
  • Laatst online: 19-02 15:56

tie-rep

nu met ir. !

met deze code:
code:
1
2
3
4
5
6
7
8
9
10
11
var sVersion = getVersion();
var iVersion = Number(substring(sVersion, 5, 1));

// textveld output
output=(sVersion+" en de substring "+iVersion);

if (iVersion != 6) gotoAndPlay('quit');

if (iVersion == 6) gotoAndPlay('loader');

stop();
geen enkel probleem in Moz.1.1 / IE 5.0 op PC
en met de MAC IE5
dit alles met flash 6.0.47 player/plugin

[edit]
dit is volgens mij trouwens de nieuwe(MX) manier om de version aan te roepen:
System.capabilities.version

  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

Topicstarter
tie-rep schreef op 18 oktober 2002 @ 10:57:
met deze code:

...

geen enkel probleem in Moz.1.1 / IE 5.0 op PC
en met de MAC IE5
dit alles met flash 6.0.47 player/plugin
Heb je die link geprobeerd die ik eerder gaf? Kwam het plaatje tevoorschijn?

[ specs ] [ Tweaker gallery ]


  • tie-rep
  • Registratie: Oktober 2001
  • Laatst online: 19-02 15:56

tie-rep

nu met ir. !

Explore schreef op 18 oktober 2002 @ 11:13:

Heb je die link geprobeerd die ik eerder gaf? Kwam het plaatje tevoorschijn?
Moz wel / IE niet :(

Ik heb nog een testje gemaakt met een eigen image erin, maar dat ging ook niet werken.... Zelfs het refreshen in IE had geen effect. Wel met de rechtermuisknop de movie play'en zodat hij hem nog een keer doorloopt. Dan krijg ik het plaatje wel te zien.

Raaar, ik zou nu even geen oplossing weten.

  • tie-rep
  • Registratie: Oktober 2001
  • Laatst online: 19-02 15:56

tie-rep

nu met ir. !

het is dus duidelijk dat het in IE komt, omdat hij hem nog niet volledig geladen heeft.

Testje met het plaatje in frame 1, buiten de stage geplaatst.
Dit geeft wel het gewenste resultaat :) een plaatje in frame 10.

Maar we dwalen af; de selectie van de versioncheck doet het prima.
Het laden van een image moet je even in een loop gooien

succes!

  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

Topicstarter
Ja, dat is dus precies het verschijnsel wat ik bedoel. Ik ben er dus inmiddels achter dat dat komt omdat frame 10 nog niet geladen is op 't moment dat er in frame 1 een gotoAndPlay(10) staat.

Moet dus eerst de eigen movie zelf inladen. Of 't zwaartepunt verleggen.

Ik vind het eigenlijk nonsence om al van alles in frame 1 in te laden wat pas in frame 10 nodig is - terwijl het dus ook nog zo kan zijn dat men met een verkeerde versie van de Flash Player zit, zodat heel die zooi die dan is ingeladen helemaal niet nodig is.

Ik ga op zoek naar een alternatief, maar snap eigenlijk niet dat hier niet meer reacties + oplossing op worden gegeven. Lijkt me een vrij typisch probleem voor Flash en je mag verwachten dat de experts hier al 1001 oplossingen hebben bedacht.

Zelf ben ik meer bezig met Actionscript dan met Flash. Ik gebruik weinig tot geen van de design-en-timeline aspecten in Flash, maar meer de programmeer mogelijkheden. Vandaar dat ik nog tegen dit soort maffe dingen aanloop. :)

[ specs ] [ Tweaker gallery ]


  • Explore
  • Registratie: Maart 2001
  • Laatst online: 08-04-2011

Explore

Op zoek naar werk

Topicstarter
Dit doet wonderen:

code:
1
2
3
4
5
6
frame 1:
// leeg

frame 2:
if (_root._framesloaded < _root._totalframes)
    gotoAndPlay(_currentframe-1);


Bedankt allemaal...

[ specs ] [ Tweaker gallery ]

Pagina: 1