PDA

Volledige versie bekijken : Flash photovieuwer


Fatty Owl
%Europe/Berlin %788 %2005, 19:55
ik ben bezig met een photovieuwer in flash, en ik wil alle foto's met loadmovie laden. Nu heb ik een movieclip thumbnails waar ik deze in laad. in thumbnails zit een mask waaronder deze geladen moeten worden. Dus hoe laad ik ze onder de mask?

Roenes
%Europe/Berlin %790 %2005, 19:57
thumbnails.maskmc.loadMovie()

Je moet zorgen dat er een lege mc onder je mask staat en daar laad je je movie in. Want alles wat al in een mc zit vervalt als er een movie wordt ingeladen. :)

Fatty Owl
%Europe/Berlin %793 %2005, 20:02
dat ik daar niet opgekomen was, simpel eigenlijk :# *slaat zichzelf voor de kop*

Roenes
%Europe/Berlin %795 %2005, 20:04
achjah, op deze manier loop je er eens tegen aan en ik ben er vrij zeker van dat je dit niet meer vergeet :p

Fatty Owl
%Europe/Berlin %807 %2005, 20:22
ok nog een klein vraagje, hoe vraag ik de width van die foto heb. want als ik trace(mc._width) doe krijg ik altijd 0 fotos = ["1.jpg", "2.jpg", "3.jpg"];
xpos = 0;
for (i=0; i<fotos.length; i++) {
mc = this.thumbnails_mc.fotos_mc.createEmptyMovieClip("foto"+i, i);
mc.loadMovie(fotos[i]);
mc._x = xpos;
xpos += mc._width+5;
}

theFlashWizard
%Europe/Berlin %812 %2005, 20:29
komt omdat op dat moment de foto nog niet geladen is.. bekent probleem..
met de MovieClipLoader class kan je het beste checken wanneer iets klaar is:
http://www.kirupa.com/developer/actionscript/moviecliploader2.htm
http://www.actionscripts.org/tutorials/intermediate/MovieClipLoader_in_Flash_MX_2004/index.shtml
http://www.actionscripts.org/tutorials/intermediate/MovieClipLoader_in_Flash_MX_2004_Part2/index.shtml

Fatty Owl
%Europe/Berlin %838 %2005, 21:07
ok mijn for loop is nu zo maar het werkt nog niet? for (i=0; i<fotos.length; i++) {
mc = this.thumbnails_mc.fotos_mc.createEmptyMovieClip("foto"+i, i);
my_mc = new MovieClipLoader();
preload = new Object();
my_mc.addListener(preload);
preload.onLoadComplete = function(my_mc) {
mc._x = xpos;
trace(mc._width);
xpos += mc._width+100;
};
my_mc.loadClip(fotos[i], mc);
}

Roenes
%Europe/Berlin %002 %2005, 01:04
je spreekt in de functie mc aan terwijl de parameter my_mc heet. Deze moet je dan ook gebruiken ;)

Let er wel op, je loader instance heet ook my_mc. Verander 1 van de 2 namen om verwarring (en dus rare fouten) te voorkomen :)

Fatty Owl
%Europe/Berlin %690 %2005, 17:34
ik begrijp er niet meer veel van :(

Roenes
%Europe/Berlin %692 %2005, 17:37
for (i=0; i<fotos.length; i++) {
mc = this.thumbnails_mc.fotos_mc.createEmptyMovieClip("foto"+i, i);
my_mc = new MovieClipLoader();
preload = new Object();
my_mc.addListener(preload);
preload.onLoadComplete = function(target) {
target._x = xpos;
xpos += target._width+100;
};
my_mc.loadClip(fotos[i], mc);
}Rings a bell als je mijn voorgaande reactie nog een keer leest? Ik heb dus 3 regels aangepast. Als ik het me goed herinner, dan zou het zo moeten werken :)

Fatty Owl
%Europe/Berlin %698 %2005, 17:45
is het de bedoeling dat ik target aanpas? want zo werkt hij niet (ik zal de hele code eens laten zien) oh ja die eerste regels dienen om namen te generaten zodat je bev schoolreis bij naam bij max 5 dan genereert hij schoolreis1,schoolreis2,schoolreis3,schoolreis4,sc hoolreis5)
naam = "";
max = 3;
bestand = ".jpg";
fotos = [];
for (i=1; i<max+1; i++) {
fotos.push(naam+i+bestand);
}
xpos = 0;
for (i=0; i<fotos.length; i++) {
mc = this.thumbnails_mc.fotos_mc.createEmptyMovieClip("foto"+i, i);
my_mc = new MovieClipLoader();
preload = new Object();
my_mc.addListener(preload);
preload.onLoadComplete = function(target) {
target._x = xpos;
xpos += target._width+100;
trace(target._width);
};
my_mc.loadClip(fotos[i], mc);
}

kolnedra
%Europe/Berlin %419 %2005, 11:03
Dat scriptje gaat je flink wat bandbreedte kosten, zorg ervoor dat je images via een php thumbnail script worden geladen ;)