Ik moet voor een opdracht een simpel scrollmenu maken waarin een aantal afbeeldingen worden geladen. De breedte van dit menu is 700px. Zodra de afbeeldingen bij elkaar opgeteld breder zijn dan 700px moet de breedte van een movieclip worden gewijzigd.
Nu is dit geen probleem en had ik dit netjes voor elkaar (na veel gepruts gezien mijn actionscript kennis). De afbeelding laad ik uit een XML file, dus toen ik dit beide voor elkaar had was ik erg blij. Als ik deze beide functies echter combineer, wat inhoud dat ik de breedte van de movieclip wijzig vanuit de onload functie voor het lezen van XML file, dan wordt de breedte niet gewijzigd.
Wat ik heb is het volgende (enigzins versimpeld)
Wat ik heb geprobeerd is het volgende:
Ik heb de waarde scrollWidth gereturned. Het probleem is alleen dat het een onload functie is. Ik kreeg dus alleen de waarde true terug, verder niets (ik acht het niet uitgesloten dat ik wat verkeerd deed
)
Verder heb ik ipv een onload functie een normale functie geprobeerd, maar toen kreeg ik de xml niet meer geladen.
En nog veel meer domme dingen die ik maar niet beschijf
Ik zie nu zelf echt niet meer waar ik moet zoeken, dus als iemand een hint heeft dan zou ik blij zijn.
edit:
Ik snap eigenlijk sowieso niet waarom ik de breedte van de desbetreffende MC niet gewoon kan veranderen vanuit een onload functie, kan iemand mij dat uitleggen?
Nu is dit geen probleem en had ik dit netjes voor elkaar (na veel gepruts gezien mijn actionscript kennis). De afbeelding laad ik uit een XML file, dus toen ik dit beide voor elkaar had was ik erg blij. Als ik deze beide functies echter combineer, wat inhoud dat ik de breedte van de movieclip wijzig vanuit de onload functie voor het lezen van XML file, dan wordt de breedte niet gewijzigd.
Wat ik heb is het volgende (enigzins versimpeld)
Flash ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| placeImages = function() { var xmlUrl = "pictures.xml"; var itemsArray:Array = new Array(); var xmlFile = new XML(); xmlFile.ignoreWhite = true; xmlFile.onLoad = function(succes){ if(succes){ var item = this.firstChild; itemsArray = item.childNodes; for (var i=0; i < itemsArray.length; i++){ // en hier gebeuren een aantal dingen, imageSpace wordt gedeclareerd enz. } } else { trace("inladen mislukt!"); } var scrollWidth:Number = imageSpace + ((i * 100) + (i * imageSpace)); _root.contentMain.scrollBlocker._width = scrollWidth; trace(_root.contentMain.scrollBlocker._width); // <-- dit geeft de waarde van scrollWidth } xmlFile.load(xmlUrl); trace(_root.contentMain.scrollBlocker._width) <-- dit geeft de oude waarde, terwijl die dus de waarde van scrollWidth zou moeten zijn } |
Wat ik heb geprobeerd is het volgende:
Ik heb de waarde scrollWidth gereturned. Het probleem is alleen dat het een onload functie is. Ik kreeg dus alleen de waarde true terug, verder niets (ik acht het niet uitgesloten dat ik wat verkeerd deed
Verder heb ik ipv een onload functie een normale functie geprobeerd, maar toen kreeg ik de xml niet meer geladen.
En nog veel meer domme dingen die ik maar niet beschijf
Ik zie nu zelf echt niet meer waar ik moet zoeken, dus als iemand een hint heeft dan zou ik blij zijn.
edit:
Ik snap eigenlijk sowieso niet waarom ik de breedte van de desbetreffende MC niet gewoon kan veranderen vanuit een onload functie, kan iemand mij dat uitleggen?
[ Voor 3% gewijzigd door Geert.H op 03-09-2007 23:59 ]