Volledige versie bekijken : vars meegeven aan mc met ingelade jpg
theFlashWizard
%Europe/Berlin %913 %2005, 22:56
ey mensjes
ik wil verschillende variabelen opslaan in mc's
maar doordat ik foto's laad in die mc's worden die na het laden gewist..
hoe kan ik ze nou toch variabelen meegeven?
want het liefst geef ik ze mee wanneer ik ook begin met laden..
iemand een oplossing?
alvast bedankt!
Roenes
%Europe/Berlin %915 %2005, 22:57
Als je de MovieClipLoader class gebruikt kun je de vars wel weer heel makkelijk aan je mc hangen zodra het laden is afgelopen. Kijk daarvoor even naar de onLoadComplete functie :)
theFlashWizard
%Europe/Berlin %919 %2005, 23:04
kijk dat weet ik wel.. die gebruik ik ook wel.. maar die variabelen wil ik het liefst meegeven in een for lus na het laden van de XML wanneer ik ook het laden begin.. kun je aan een loadClip argumenten meegeven mshn?
Roenes
%Europe/Berlin %923 %2005, 23:09
loadClip ondersteund geen extra args (zie AS-ref). Maar waarom wil je al de args direct meegeven tijdens het laden? Zodra je jpg geladen is vervallen die args toch meteen! :)
Je kunt wel tijdelijk je args opslaan in een array die je weer uitleest in de onLoadComplete maar dit is niet echt logisch, want dan loop je 2x dezelfde data door. Waarom dus niet gewoon in de onLoadComplete de xml doorlopen? :)
theFlashWizard
%Europe/Berlin %925 %2005, 23:12
omdat de urls naar wat er geladen moet worden in de xml staat.. en ik wil commentaar en een nummer opslaan per mc met foto.. zodat ik er makkelijker een onRelease aan kan koppelen..
Roenes
%Europe/Berlin %927 %2005, 23:15
Tjah, dan zou ik er toch voor gaan om die data eerst in een array op te slaan en weer terug te halen in de onLoadComplete. Een andere optie kan ik zo snel niet verzinnen :)
theFlashWizard
%Europe/Berlin %929 %2005, 23:18
en hoe weet de onLoad dan hoeveelste hij is? :P
want de 1e is sneller geladen dan de andere he.. dus nummer++ werkt nie..
de nummer uit de naam halen dan? is ook zo raar.. s
Roenes
%Europe/Berlin %931 %2005, 23:21
kijk eens in de AS-ref. Daar staat dat de onLoadComplete een target_mc als parameter heeft. deze verwijst naar de mc waarin je plaatje geladen is. Als je deze logische namen geeft kun je met de _name propertie al een heel eind komen :)
theFlashWizard
%Europe/Berlin %933 %2005, 23:24
het nummer uit de naam halen dus.. zoals ik al zei.. maar wat raar dat dat de enige manier is.. :S
en als je nou is variabele meegeeft aan een mc waarin je in een andere mc de foto laad.. dan blijven die vars wel bewaart?
dan lijkt me het het netst om de foto in nog een mc lager te laden..
Roenes
%Europe/Berlin %935 %2005, 23:27
kdenk het wel maar weet niet zeker. Dat zou je eens moeten proberen :)
Maar waarom niet gewoon een nummer uit de naam halen? Is toch een mooie en op zich makkelijke oplossing. Doe het anders nog simpeler: sla je waardes in de array op onder een label dat de naam van je mc is. Dan is het opvragen van de gegevens ook een stuk makkelijker :)
theFlashWizard
%Europe/Berlin %938 %2005, 23:31
hmm label in een array? hoe bedoel je dat?
maar sorry het lijkt mij een slechte oplossing als je 100 foto's moet inladen je een gigantische array moet gaan make..
Roenes
%Europe/Berlin %942 %2005, 23:36
hmm label in een array? hoe bedoel je dat?var arr = new Array();
arr["Roenes"] = "ZoneManager";
arr["Flashwizard"] = "Komt vaak op FF";
trace(arr["Roenes"]); //Output: zonemanager
trace(arr["Flashwizard"]); //Output: komt vaak op FF
maar sorry het lijkt mij een slechte oplossing als je 100 foto's moet inladen je een gigantische array moet gaan make..Op zich wel, maar hoe zou het anders moeten? je xml nodes allemaal een id geven en deze opslaan in de naam van de mc en dan in de onLoad dit id weer terug halen om zo de data uit je xml te toveren?
Het is een omweg, maar volgens mij niet anders mogelijk :)
theFlashWizard
%Europe/Berlin %965 %2005, 00:09
de vars in een mc erboven blijven wel behouden.. :)
maar gezien ik ook op n andere manier dat commentaar erbij wil halen.. door het klikken op prev/next buttons klinkt dat array idee mshn nog niet zo slecht.. :S
het 2x ophalen van XML lijkt me eerlijk gezegt moeilijk doen voor niks en lijkt me zonde van me CPU
Roenes
%Europe/Berlin %998 %2005, 00:57
Als ik dat zo hoor zou ik gewoon voor een array kiezen :)
Ea.Z
%Europe/Berlin %089 %2005, 03:08
wacht eens... het probleem is dat je een xml laad
in die xml staat wat?
+per item een url naar een foto die moet geladen worden
+vars die samen in een mc met die foto moeten
mss versta ik het verkeerd... maar ik denk dat er nie veel moeilijk hieraan is.. :I
hopelijk versta ik het goed. Indien het zo is, ga'k een fla voor je maken want ik werk bijna 99% van de tijd zo... en da werkt perfect bij mij.. :D maar tmoet natuurlijk wel zijn wat jij nodig hebt: laat iets weten;)
Roenes
%Europe/Berlin %443 %2005, 11:39
Kun je even in een paar woorden uitleggen waar je aan denkt? :)
theFlashWizard
%Europe/Berlin %460 %2005, 12:02
nee ik vind het genoeg als hij 1x bij opstarten alles ophaalt uit de xml en niet nog n x nadat elk plaatje geladen is..
en nee in de XML komen straks alleen de url's plus comments bij degene waar ik comments bij wil.. dus er is minder comment dan url's..
en de urls staan niet precies in de xml, er staat een naam in en daarmee maakt hij dan bijv naam1, naam2 enz..
Ea.Z
%Europe/Berlin %483 %2005, 12:35
kun je eens een voorbeeld van je xml tonen...
van wat ik nu versta is het zoiets
+item
---naamfoto1
---comments
+item
---naamfoto2
---comments
+item
---naamfoto3
---nix
+item
---naamfoto4
---comments
ik denk dat ik je hiermee kan helpen... mijn gastenboeken werken +- ook zo...
alles wordt eenmaal opgehaald, en dan alle gegevens verdeeld, en als iemand bv geen url, of mail wilt of heeft opgegeven maak ik daar mijn eigen waarden aan... Dit heb ik ook al bij een fotoAlbum (WIP) dus, ik denk dat dit simpel op te lossen is.. (als je xml er zo uit ziet tenminste)
theFlashWizard
%Europe/Berlin %497 %2005, 12:56
<?xml version="1.0" encoding="ISO-8859-1"?>
<myData>
<titel>Mysteryland!</titel>
<name>foto</name>
<amount>28</amount>
</myData>
<slideshow>
<photo url="foto1" caption="Sayid tries to explain to electronics theory to Kate." />
<photo url="foto3" caption="Its confirmed, Jack's dad is dead as a doornail." />
<photo url="foto5" caption="Jack and Hurley saving Claire from the wreckage." />
</slideshow>
zoiets.. :) eerst wat algemene info en dan eventueel commentaat bij sommige foto's
maar uitzoeken welk commentaat bij welke foto hoort hoopte ik meteen in het begin te kunne doen..
Ea.Z
%Europe/Berlin %597 %2005, 15:20
ok..
dit pak je best anders aan
<?xml version="1.0" encoding="UTF-8"?>
<slideshow title="Mysteryland!" name="foto">
<photo>
<url>foto1</url>
<caption></caption>
<nogCaption></nogCaption>
</photo>
<photo>
<url>foto2</url>
<caption>ZEVER</caption>
<nogCaption></nogCaption>
</photo>
<photo>
<url>foto3</url>
<caption>Bleop</caption>
<nogCaption>Dit is nog eens TEKST</nogCaption>
</photo>
<photo>
<url>foto4</url>
<caption>HIER INFO</caption>
<nogCaption>HIER STAAT OOK IETS</nogCaption>
</photo>
</slideshow>
als je het ziet zitten om zo te werken kan ik je voorthelpen...
normaalgezien kan alles dan gewoon 1malig uitgevoerd worden.
wat denk je?
theFlashWizard
%Europe/Berlin %710 %2005, 18:03
nee dat wil ik juist niet.. want dan moet je elke url in je xml plakken..
stel je wilt dan alleen maar 10 foto's snel erin zetten kost dat n boel meer werk dan enkel een naam en een hoeveelheid op te geven..
en als je er dan comment bij wil zetten hoef je daar alleen de url voor te zetten en dan heb je een hoeveelheid items die gelijk is aan het aantal comment.
sorry jongens.. bedankt voor de hulp maar ik ga gewoon ff zelf romelen.. ik show jullie het eindresultaat wel.. het gaat me namelijk wel lukken :)
Ea.Z
%Europe/Berlin %772 %2005, 19:32
maar ik zie het verschil niet?
in jouw xml word evenveel meegegeven als bij de mijne...
je geeft toch ook een 'url', da geef ik ook;.. de caption staat er toch ook..?
kversta echt het probleem nie...
dioneo
%Europe/Berlin %805 %2005, 20:19
precies, EaZ's versie van XML heeft de voorkeur. Bovendien kun je een movieClip aanmaken met een i in de naam, en dan die i er weer uit halen. zoeits als
//als this._name="photo"+i
var i:Number=substring(this._name,5,(this._name.length-5))
Of je XML object intact laten Dan kun je het bijvoorbeeld zo doen:
// als je photoXML is ingeladen:
var max:Number = photoXML.firstChild.length;
for (i = 0; i<max; i++) {
_root.createEmptyMovieClip("photo"+i, this.getNextHighestDepth());
_root["photo"+i].loadjpeg(i);
}
// hier je prototype
MovieClip.prototype.loadjpeg = function(i) {
//maak een clip IN je clip die de foto bevat
this.createEmptyMovieClip("holder", 1);
this.holder.loadMovie(photoXML.firstChild.childNod es[i].childNodes[0].firstChild.nodeValue);
this.onPress = function() {
_root.helpText.text = photoXML.firstChild.childNodes[i].childNodes[1].firstChild.nodeValue;
};
};
Op die manier hoef je niet je hele xml tot array om te toveren; xml is immers een array-structuur van zichzelf.
Ea.Z
%Europe/Berlin %830 %2005, 20:56
daar was ik nu net op uit.. alleen ben ik slecht in uitleggen.. Nice Dioneo :D
Roenes
%Europe/Berlin %862 %2005, 21:41
dioneo, op zich leuke oplossing maar als je de topic goed had gelezen had je geweten dat FlashWizard die methode zelf ook als een mogelijke oplossing had aangedragen ;)
Ea.Z
%Europe/Berlin %885 %2005, 22:15
maar wa is het probleem dan?? ik versta het echt nie hoor...
Roenes
%Europe/Berlin %929 %2005, 23:18
Het kwam erop neer dat FlashWizard geen mega array wilde bijhouden want dat vond hij niet netjes. Toen kwam hij met oa deze oplossing die mogelijk was. Alleen had hij nog geen keus gemaakt hoe hij het gaat uitwerken.
Naarmate de discussie vorderde vond hij een array misschien toch wel goed. Wat hij nu besloten heeft, weet ik ook niet :)
theFlashWizard
%Europe/Berlin %024 %2005, 01:35
EaZ, jounes bevatte zeker iets anders dan die van mij.. ik wil namelijk niet elke foto erin hebben.. soms heb je nou eenmaal niet op elke foto commentaar..
dus.. voor welke ik commentaat heb wil ik items in me XML en dat zal ik zo gaan maken ook..
nu heb ik alle comments als vars in de tumbs die een onRelease bevatten om de foto te laten zien..
maar ik zal het toch maar omzetten naar een array omdat je ook op verschillende andere manieren straks kan navigeren en van andere plekken die info moet opvragen.. en dan is het ophalen uit een array veel makkelijker natuurlijk..
en dan zet ik gewoon n "" op de items in de array wanneer der geen comment is..
maar em.. heb ik opzich alst mee zit geen hulp meer bij nodig..
maar als jullie willen disguseren sta ik daar natuurlijk voor open :)
theFlashWizard
%Europe/Berlin %050 %2005, 02:13
XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<myData>
<titel>Mysteryland!</titel>
<name>foto</name>
<amount>28</amount>
</myData>
<slideshow>
<photo name="foto1" comment="Q-dance!" />
<photo name="foto3" comment="Tja.. Henny kon het niet laten.." />
<photo name="foto5" comment="Lekker knus op de zitzakken ;)" />
</slideshow>
XML ophaal & verwerk script:
var x:XML = new XML();
x.ignoreWhite = true;
var names:Array = new Array();
var comments:Array = new Array();
var whoIsOn:Number;
x.onLoad = function(success) {
titel_txt.text = this.firstChild.firstChild.childNodes;
N = this.firstChild.childNodes[1].firstChild.nodeValue;
A = this.firstChild.childNodes[2].firstChild.nodeValue;
photos = this.childNodes[1].childNodes;
for(i=0;i<A;i++){
comment = ""
myName = N+(i+1)
for(y=0;y<photos.length;y++){
if(myName == photos[y].attributes.name){
comment = photos[y].attributes.comment
}
}
comments.push(comment)
}
makeTumbs(N,A,photos)
makeScroll()
whoIsOn = 1;
loadPic(whoIsOn)
}
x.load("lost.xml");
comment show scriptje:
comment_txt.text = comments[(whoIsOn-1)]
works like a charm..
dus wel je array idee gebruikt Roenes, thnx ;)
dus EaZ, dacht je nog steeds iets beters te wete? :P
latino
%Europe/Berlin %294 %2005, 08:03
hee het gehiem on variablen mee te sturen zit hier in:
var holder_mc:MovieClip = this.createEmptyMovieClip("thumb"+_global.numImages+"_mc",this.getNextHighestDepth());
holder_mc.titel = "hoi";
holder_mc.id = 12;
holder_mc.createEmptyMovieClip("image_mc", holder_mc.getNextHighestDepth());
pic = picURL+photoData[i]["pic"];
mc2.loadClip(pic,holder_mc.image_mc);
je moet dus 2 movieclips aanmaken 1 holder en 1 waar je ze inlaad. Aan de holder koppel je de variablen. Doe je dit niet zo dan zijn ze 'weg'.
ophalen kun je dan bv zo:
this._parent.titel
this._parent.id
dioneo
%Europe/Berlin %563 %2005, 14:31
maar als je de topic goed had gelezen had je geweten dat FlashWizard die methode zelf ook als een mogelijke oplossing had aangedragen
Hmmm... dat lees ik er niet helemaal uit. Ik laadt de xml in en laat m intact, als ware het een array. En flash kan echt wel een aardige array aan. Ik heb wel s gewerkt met een XML met 100.000 records. Gaf eerder aan de geheugenkant problemen dan aan datahandling ;-)
Anyway, linksom of rechtsom, als het probleem maar getackeld is en een onderbouwde keuze is gemaakt.
Ea.Z
%Europe/Berlin %715 %2005, 18:10
in de mijne kon je ook makkelijk foto's hebben zonder comment..
nuja.. probleem opgelost... dusja..
theFlashWizard
%Europe/Berlin %765 %2005, 19:21
latino,
jou oplossing had ik al n paar posts eerder:
en als je nou is variabele meegeeft aan een mc waarin je in een andere mc de foto laad.. dan blijven die vars wel bewaart?
dan lijkt me het het netst om de foto in nog een mc lager te laden..
maar daar heb ik later vanaf gezien:
de vars in een mc erboven blijven wel behouden..
maar gezien ik ook op n andere manier dat commentaar erbij wil halen.. door het klikken op prev/next buttons klinkt dat array idee mshn nog niet zo slecht.. :S
dioneo, jou 1ste idee:
de nummer uit de naam halen dan? is ook zo raar.. s
en waarom ik je 2de niks vond, wat ik al eerder heb uitgelegt:
maar uitzoeken welk commentaat bij welke foto hoort hoopte ik meteen in het begin te kunne doen..
EaZ, NEEE! dan moet je nog steeds tig items handmatig invoeren.. omdat je dan nog steeds evenveel items als foto's nodig hebt!
en op mijn methode heb je evenveel items als er comments zijn.
Dus.. mensen, lees de complete post eerst goed voordat je post..
Roenes heeft dat wel goed gedaan en die bedank ik bij deze erg voor zijn hulp :)
Roenes
%Europe/Berlin %787 %2005, 19:54
Anyway, linksom of rechtsom, als het probleem maar getackeld is en een onderbouwde keuze is gemaakt.Totaal mee eens :)
theFlashWizard
%Europe/Berlin %795 %2005, 20:04
owja het resultaat tot nu toe:
http://www.photoviewer-mysteryland.tk/
met foto's van mysteryland dus ;)
Ea.Z
%Europe/Berlin %960 %2005, 00:02
omg! handmatig invoeren!! haha, daar heb ik een standaard xml builder voor :p
hehe, cfm is handig hoor :p
lol, alst daarvoor is... haha
had dat eerder gezegd :p
theFlashWizard
%Europe/Berlin %968 %2005, 00:15
em.. dat heb ik je min. 3x proberen uit te leggen..
maar dat is dus geen oplossing dat programma want ik wil dat iedereen dit makkelijk kan aanpassen of gebruiken.. en niet iedereen heeft dat..
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.