11. oktober 2004 - 15:42Der er
13 kommentarer og 1 løsning
Stoppe et mc der er ved at load en ekstern jpg
Hej, - jeg giver et mc besked på at loade et eksternt jpg, - og det er da også fint nok, - men hvad hvis jeg har lyst til at afbryde loadningen inden billedet er loadet, - kan jeg det?
Jeg bruger my_mcl.loadClip("mitBillede.jpg");
Og så lige en anden ting, - jeg bruger et mc som holder til en masse mindre mc's der loader billeder, - kan jeg bruge en totalBytes på mit 'over' mc, - altså på mc'et det holder de små mc's?
Jeg kunne nemlig godt tænke mig at få et samlet overblik over hvor meget der er loadet og hvor meget der mangler uden at skulle gå ind og finde totalBytes på hvert lille bitte klip.
Og allerbedst vil det naturligvis være hvis jeg kan få progress baren til at reagere på denne totalBytes ting ;)
Mht. stop af load, så kan du unloade target for dit load. Altså fjerne det movieclip, som du er ved at loade ind i. Det er er jeg ret overbevist om, vil få playeren til at stoppe load.
Mht. bytes, så er du nødt til at gå det enkelte moviecliploader igennem for at spørge om dens bytes. Men hvis du stadig har din forrige klasse-struktur, så kan du jo bare få det enkelte movieclip til at fortælle manager-klassen, hvad dets load er - så kan den samle sammen :)
Hej igen, problemet er at jeg ikke bare kan fjerne det mc som jeg er ved at load i, - jeg skal nemlig måske bruge det igen, - derfor tænkte jeg om jeg ikke bare kunne give clippet besked på at loade et eller andet dummy billede, - a la en 1x1 jpg, - bare for at den dog har noget at bestille.
Jeg bruger samme klasse struktur, - klassen ser sådan ud nu:
class LoadImagesManager { static var listeners:Array;
static function addListener (li:ZoomIt) {
if (listeners == undefined){ listeners = new Array (); }
men det virker ikke helt præcist, - den springer nogle clips over selv om hittesten burde give "true", - så jeg er nok nød til at regne mig frem til om et clip er inden for det område man kan se (altså masken).
Dine clips flytter sig vel ikke spontant uden for scenen? Når det flytter sig rundt, så kan du vel bare sætte et flag inden i hvert enkelt movieclip, der indikerer om det er "live" eller ej.
Derudover kan du lave en load og en stopload funktion på hvert clip som:
function checkZoom():Void { if (_root.maske_mc.hitTest(_parent)) { my_mcl.loadClip("kalleballe.jpg", this.createEmptyMovieClip("imgholder, 1)); } } function stopLoad():Void { this.imgholder.removeMovieClip(); }
Så loader du altså i en imgholder, som du bare kan fjerne igen. Du havde en masse rod i din version.
Men for at vi ikke bare blander flere og flere ting ind i det hele i bedste frugtsalat stil, kan du så ikke lige remse op, hvad du har brug for *præcist* af funktionalitet af disse klasser?
Jeg har en klasse der danner en grid af små billeder oven på et stort billede. Så har jeg en klasse der laver zoom, - dvs. den forstørrer det ydre clip som holder de små clips.
Så er der en klasse der tjekker hvad størrelse mine små clips er blevet skaleret op til ved hjælp af det ydre mc og som så loader de små clips.
Så er der jo klassen der tjekker om mine små clips er inde for det område man kan se.
vh
KalleBalle
P.S. ja, - jeg har allerede små imgholdere så jeg kan let bruge stopLoad funktionen :)
Det der af en eller anden grund er mit problem lige nu er følgende:
Det går helt fint med at zoom fra 100 til 200 procent.
Når jeg så zoomer videre til 400 procent så løber den fint min listener array igennem og finder også de clips der rammer masken, - men så går den ikke videre til checkZoom (); og det skal den jo ;)
Som nævnt havde du flere fejl i dit script. For eksempel kan du da godt loade noget ind i et movieclips parent movieclip - men dermed sletter du jo det gamle indhold, deriblandt movieclippet selv.
Men jeg kan slet ikke gennemskue, hvordan zoom laves via loading af billeder. Er det ikke smartere at bruge _xscale/_yscale? Well, det er nok mig, der ikke helt forstår.
Jeg kan ikke helt få min progress ting til at virke med "imgholder", - kan du sige mig hvordan jeg knytter 'loadings' methoderne til dette object i stedet for 'this' ??
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.