[Flash]Hertoewijzing loadmovie-variabele

Pagina: 1
Acties:

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 11:09
Om bij het begin te beginnen:
Omdat dit het laatste jaar is zijn we Voor school, met de informaticagroep, bezig een cd te maken waarop iedereen een verhaaltje verteld, plus 3 foto's. Hierin is het mijn taak een werkende interface te bouwen. Helaas moeten ook de grootste n00bs ermee kunnen werken, vandaar mijn keuze om in flash een standaart frame te maken waarin met behulp van 1 variabele de foldernaam verandert wordt. De bestanden in de folders zijn gelijk, namelijk 1 tekstbestand en de 3 foto's dus. Het probleem ligt bij het aanroepen van de foto's:

Al vrij snel had ik een werkend script aan de praat, dat netjes de foldernaam + bestandsnaam van een foto in een loadmovieclip variabele kon laden. Helaas is flash nogal kieskeurig op dit punt. Zodra ik 2x een foldernaam aan die variabele toewijs gaat het mis: flash gaat of op zoek naar een folder "0", of laad vrolijk de foto uit het eerste frame dat'ie tegenkomt!

Om dit iets makkelijker uit te leggen staat hier de broncode: met de rechter afstandsbediening bedien je het frame nummer. Frame 100 is de eerste echte 'voorstel-pagina', waar de variabelen geladen worden. 105 is de volgende, maar bij het direct laden hiernaar word niks gevonden (de "0" error), en als ik via 100 naar 105 ga vergeet'ie simpelweg een nieuw plaatje te laden :D

Dat laatste is deels te verhelpen door "unloadmovie(_level0.instance42.plaatje)" toe te voegen, maar dan wil'ie weer geen variabelen toevoegen aan het plaatje, zodat'ie weer op zoekt gaat naar bestand "0" :/

Hiermee hangt ook een beetje een ander probleem samen: de foto's kunnen worden uitvergroot, wat gebeurt door een simpel movieclipje dat het hele foto gebeuren vergroot. Lekker simpel, en het werkt dan ook gewoon, door op de linkerafstandsbediening op de plus en min knop te rammen. Tenminste... zolang ik met m'n fikken van de eigenschappen afblijf. Zodra ik bijvoorbeeld
code:
1
2
setProperty(plaatje, _xscale, 40);
setProperty(plaatje, _yscale, 40);
toevoeg en vervolgens laat vergroten blijft de foto doodstil staan...

Ik vermoed dat beide problemen in 1 klap opgelost kunnen worden door de ingeladen foto de eigenschappen te geven van een 'echte' foto, zou alleen niet weten hoe -> hier komen jullie dus te hulp (hopelijk) ;)

Sorry voor het lange verhaal, maar ik weet het echt niet meer... Hopelijk is het duidelijk genoeg! Ohja, nog over die 2 afstandsbedieningen: ik heb de interface niet zelf gemaakt, alleen de programatuur erachter. Het moet nog een beetje beter worden samengevoegd, maar dat is een zorg voor later.

[ Site ] [ twitch ] [ jijbuis ]


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
hmm gebruik je MX?

if zo dan moet ik wel effe zeggen dat voor 'Informatica' toch echt wel de juiste approach niet is - ga je voor elke user een frame maken + script? dat is echt om problemen vragen .. nou goed ieder zijn ding. zoals ik ik dus zei ziet je code erg Flash 4 uit en ik raad je dan ook aan om effe de MX help door te gaan ivm loading van images. (het zetten van een width voordat ie is ingeladen doet niets want die reset ie na ie is ingeladen). Bovendien zit je daar met unloadMovie te werken maar ik zie helemaal geen movies die je import...

Ik zou je graag helpen want het kan allemaal in twintig lijntjes (alles ;) maar dat mag hier niet...

je hebt eigenlijk twee keuzes:

- elke persoon maakt een eigen .fla (of swf) en die laad je dan in.
+ iedereen veel vrijheid
- iedereen veel vrijheid

- elke persoon moet : 1 tekst + 3 fotos
+ alles the same
+ de gebruikers moeten geen fla's openen of doen
+ altijd eenvoudig te coden...

ik zou dus een objectje maken per persoon (of als de naam==directory) kun je een pure array gebruiken:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
_global.gPeople = ["Dipsy","Tinky Winky", "Poo", "Lalaa"];

dan weet je dat voor user 1: de naam Dipsy, dan het in folder "Dipsy" staat. en voor iedereen is de tekst hetzelfde...

movie  folder
         Dipsy folder
                tekst.txt
                foto1.jpg
                foto2.jps
         Lalaa folder    
                tekst.txt
                foto1.jpg
                foto2.jps


dan op je 'remote' druk je 1 dus user 1 = dipsy en dan gebruik je de array
om de nieuwe dingen in te halen:

_global.gTekst.loadText(gPeople[clickedNumberRemote]+"//tekst.txt");
_global.gFoto1.loadImage(gPeople[clickedNumberRemote]+"//photo1.jpg");

enzovoorts...

en je hebt helemaal geen frames behalve de eerste..

die loadTekst/LoadImage laat ik over aan jouw daar zijn honderden voorbeelden van op het web...

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 11:09
Thnx Hobbit_be, op deze manier had ik er nog helemaal niet naar gekeken. En inderdaad, als het werkt is het veeeel simpeler dan dat overmaatse variabele in variabele in variabele gemier van mij :)

Het is inderdaad in FlashMX gemaakt, alhoewel ik na Flash5 een ben blijven hangen qua scripting, en me meer heb toegelegd op het maken van animaties. Ga nu maffen, maar zal morgen eens opzoeken hoe ik je tips precies moet interpreteren.. en vooral, importeren ;)

Overigens: ook nu is het niet de bedoeling dat de gebruikers de .fla's openen, maar alleen het eindresultaat te zien krijgen. Wie de fla's wel moeten zien 2 klasgenoten die ook een beetje inbreng in moeten hebben (ze willen tenslotte ook meedoen...), in mijn aanpak was het hun taak 50 frames te kopieeren, een lijstje maken met frame/persoon, en de mapvariabele aanpassen per frame.

[ Site ] [ twitch ] [ jijbuis ]


  • FragFrog
  • Registratie: September 2001
  • Laatst online: 11:09
*schopje*

Ik gebruikte dus de loadmovie om plaatjes binnen te halen, geen wonder dat het niet lukte :)

//edit
Wat ik bedoelde met niet werken: wat ik ermee wil vervolgens werkt niet, het plaatje zelf inladen werkt natuurlijk wel.

[ Voor 39% gewijzigd door FragFrog op 18-04-2003 13:59 ]

[ Site ] [ twitch ] [ jijbuis ]


  • GrimaceODespair
  • Registratie: December 2002
  • Laatst online: 10:32

GrimaceODespair

eens een tettenman, altijd ...

FragFrog schreef op 17 April 2003 @ 11:00:
Ik gebruikte dus de loadmovie om plaatjes binnen te halen, geen wonder dat het niet lukte :)
Waarom zou je met loadMovie geen plaatjes kunnen binnenhalen :?

Wij onderbreken deze thread voor reclame:
http://kalders.be