Avatar billede vizone Nybegynder
23. august 2004 - 22:01 Der er 29 kommentarer

load billede via variabel

Jeg har lavet et eksternt mc der loader et billede, Så har jeg en massse tumbnails man kan trykke på, i stedet for at have 50 eksterne mc's vil jeg gerne lave det sådan at tumbnailsene afgiver en variabel og den variabel skal så læses af det eksterne mc og indlæse de rigtige billeder - derved behøver jeg kun ET mc i stedet for 50...

en der kan hjælpe?
Avatar billede pyroman Nybegynder
23. august 2004 - 22:11 #1
Altså du kan jo hente hvilket som helst billede ind i et mc, hvori der i forvejen er et hentet billede - så erstatter det nye bare det gamle...

kan du ikke lige forklare det en smule bedre - bare sådan med opbygning og brug... så kan vi få et lidt bedre billede af hvad det er du ønsker, for jeg forstår det ikke helt 100 (måske er jeg bare fatsvag?) :)
Avatar billede thulstrup Nybegynder
23. august 2004 - 22:18 #2
Det kunne f.eks. se sådan her ud:

for (var i = 0; i<50; i++) {
    this.attachMovie("thumb", "thumb"+i, i, {_x:25*i, num:i});
    this["thumb"+i].onRelease = function() {
        _root.holder.loadMovie("ekstern.swf?nr="+this.num);
    };
}


Så hvis du trykker på thumb0 vil den kalde ekstern.swf?nr=0
I din ekstern.swf kan du så sige:

holder.loadMovie("billede"+nr+"jpg");

Hvilket vil loade billede0.jpg
Avatar billede pyroman Nybegynder
23. august 2004 - 22:25 #3
Jeg ville nok hente ekstern.swf ind fra starten, og så lave en funktion i den, som henter billedet:

I extern.swf:


function visBillede(sti){
  billedeHolder.loadMovie(sti);
}


i din hoved swf:


_root.externHolder.loadMovie("extern.swf");

for(var i=0;i<50;i++){
  this.attachMovie("thumb", "thumb"+i, i, {_x:25*i, num:i});
  this["thumb"+i].onRelease = function() {
    _root.externHolder.loadMovie("ekstern.swf?nr="+this.num);
  };
}


...men det er selvf. detaljer ;)
Avatar billede thulstrup Nybegynder
23. august 2004 - 22:31 #4
Det ville jeg nok egentlig også selv gøre :o)
Jeg smed bare lige koden hurtigt samme for at vise ideen i det...
Avatar billede vizone Nybegynder
23. august 2004 - 22:34 #5
Nu ved jeg ikke helt hvor mange billeder der skal være og der kommer muligvis flere til hen af vejen, og derfor tænkte jeg hvis jeg nu bare ligger billederne ned i mappen og så bare lægger en ny tumbnails med fx.: on press var = XX eller noget???
Avatar billede pyroman Nybegynder
23. august 2004 - 22:38 #6
dine thumbnails - hvad er det? et movieclip i din hovedfilm på stage'n?
Avatar billede vizone Nybegynder
23. august 2004 - 22:47 #7
Jeg ville jo helst også have den som ekstern, men hvis det er meget besværligt kan jeg godt ligge den i hovedfilmen på scenen...
Avatar billede pyroman Nybegynder
23. august 2004 - 22:52 #8
altså thumb'sne er også bare jpg billeder? For så kan de jo også bare hentes ind externt... Hvad siger du til det?
Avatar billede vizone Nybegynder
23. august 2004 - 22:55 #9
Hmmm jeg tror bare jeg starter med at jeg selv laver tumbnailsene manuelt...
Avatar billede pyroman Nybegynder
23. august 2004 - 22:59 #10
altså billeder kan nemt hentes ind i flash og laves om til knapper, som så viser den store version - faktisk kan det laves sådan at det eneste der skal ændres i flash, når man tilføjer nye billeder, er et tal der angiver hvormange billeder man har...
Avatar billede vizone Nybegynder
23. august 2004 - 23:02 #11
Jeg ved det ikke rigtigt - jeg vil senere gerne have det tilkoblet en database på et senere tidspunkt, og jeg ved endnu ikke hvordan det kommer til at fungere så i første omgang vil jeg bare gerne have det til at virke hvor jeg manuelt laver tumbnailsene....
Avatar billede pyroman Nybegynder
23. august 2004 - 23:11 #12
Så kan du stort set leve med en af de koder som mig eller thulstrup/cellbl0ck (jeg ved ikke hvorfor han har skiftet navn ;) ) har skrevet...

Hvad har du i din externe swf? I hvilket movieclip havde du tænkt dif at hente billederne ind i? Bare sådan lidt generelle oplysninger om hvad du har og vil have, så kan vi hjælpe dig med det endelige script...
Avatar billede vizone Nybegynder
23. august 2004 - 23:18 #13
Cool... nå men jeg prøver lige at være lidt mere specifik.

Jeg har "hovedscenen" hvor der er en menubar tekst osv. i den bliver loadet et eksternt mc der hedder "velg"
- velg er alle tumbnailsene
Så har jeg lavet et nyt mc igen som hedder "billede" billede indeholder tre billeder med en del effekter.

Jeg vil gerne have det sådan at når man så trykker på en tumbnail giver den en variabel eller noget og når "billeder.swf" bliver indlæst læser den så variablen og henter de pågældende billeder.

Derved behøver jeg kun at tilføje billeder samt variabel i "velg" når der skal flere billeder ind.
Avatar billede vizone Nybegynder
23. august 2004 - 23:18 #14
nå aj forresten... der er tre billeder til hver tumbnail
Avatar billede pyroman Nybegynder
23. august 2004 - 23:31 #15
billeder og velg - kan de ikke laves i samme fil? Så undgår man at der skal hentes for mange filer...
Avatar billede vizone Nybegynder
23. august 2004 - 23:36 #16
Helst ikke..  men hvis det er lettere kan jeg godt få det til lavet om så det kan fungere...
Avatar billede pyroman Nybegynder
23. august 2004 - 23:51 #17
Ser på det i morgen..
Avatar billede vizone Nybegynder
23. august 2004 - 23:52 #18
Ok.. tak
Avatar billede pyroman Nybegynder
24. august 2004 - 18:45 #19
ok - det er ikke noget problem at de ligger i 2 filer, det var bare at hvis du ikke hvade lavet noget endnu, så havde det været nemmere fra starten at klare det hele i én fil...

Det smarteste at gøre er at lave en funktion i din "billeder", der henter og viser billedet (eller billederne, hvis der er 3).

I din "vælg" laver du en funktion der henter alle thumbnail billeder og sætter dem op (eller undværer denne funktion og indsætter dem selv), og når man trykker på et thumbnail, så kalder den hentOgVis funktionen i "billeder"

Begge swf'er, "billeder" og "vælg" hentes ind fra starten, så de er ready to use...
Avatar billede vizone Nybegynder
24. august 2004 - 21:17 #20
Ok... men hvad skal jeg så skrive af koder sådan helt præcis?
Avatar billede pyroman Nybegynder
24. august 2004 - 21:42 #21
I bund og grund er det ikke meget mere end de koder der står i starten af dette spm...

Først skal du hente "billeder" og "vælg" ind, fx med følgende funktion i din main fil:

var picturesFilePath = "StiTilBilleder.swf";
var thumbsFilePath = "StiTilVælg.swf";
function loadPictureViewer(){
  var loaderObj = new Object();
  loaderObj.onLoadComplete = function(target){
    if(target == pictureViewer){
      this.loadClip(thumbsFilePath, thumbs);
    }else if(target == thumbs){
      thumbs.initialize();
    }
  }
  var thumbLoader = new MovieClipLoader();
  thumbLoader.addListener(loaderObj);
  thumbLoader.loadClip(picturesFilePath, pictures);
}

I din hoved fil skal du så have to tomme movieclips med instance navnene "thumbs" og "pictures" - "thumbs" holder "vælg.swf" og "pictures" holder "billeder.swf"...

I "vælg.swf" kan du så have følgende kode:


function initialize(){
  //gør evt. noget opsætning
}
function showPicture(file){
  _root.pictures.showPicture(file);
}

på dine thumbnail knapper:

on(release){
  showPicture("billede.jpg");
}


I "billeder.swf":

function showPicture(file){
  holder.loadMovie(file);
}

hvor du så skal have et tomt movieclip med navnet "holder"...
Avatar billede vizone Nybegynder
24. august 2004 - 21:56 #22
hmm jeg får følgende fejl i hovedfilmen:

**Error** Scene=Scene 1, layer=ACTION, frame=1:Line 9: Syntax error.
      var loaderObj = new Object();

**Error** Scene=Scene 1, layer=ACTION, frame=1:Line 10: Syntax error.
      loaderObj.onLoadComplete = function(target){

Total ActionScript Errors: 2     Reported Errors: 2



kan det være fordi jeg kører flash mx2004 pro
Avatar billede pyroman Nybegynder
24. august 2004 - 22:04 #23
Det virker nu fint i mit mx2004 pro...

tror du ikke du har fået det mixed up på en eller anden måde?
Avatar billede vizone Nybegynder
24. august 2004 - 22:07 #24
hmm den ser således ud:

var picturesFilePath = "billeder.swf";
var thumbsFilePath = "velg.swf";
function loadPictureViewer(){
  var loaderObj = new Object();
  loaderObj.onLoadComplete = function(target){
    if(target == pictureViewer){
      this.loadClip(thumbsFilePath, thumbs);
    }else if(target == thumbs){
      thumbs.initialize();
    }
  }
  var thumbLoader = new MovieClipLoader();
  thumbLoader.addListener(loaderObj);
  thumbLoader.loadClip(picturesFilePath, pictures);
}
Avatar billede pyroman Nybegynder
24. august 2004 - 22:16 #25
I et tomt frame: "This script containt no errors"
Avatar billede vizone Nybegynder
24. august 2004 - 22:18 #26
Hmm det fatter jeg ikke....
Avatar billede vizone Nybegynder
24. august 2004 - 22:33 #27
hmm har lige fundet ud af hvad der var galt... jeg HADER min mac... mac'en må læse nogle HTML-mellemrum når jeg kopierer det, for hvis jeg fjerner alle mellemrum og trykker på "auto-format" så virker det
Avatar billede vizone Nybegynder
24. august 2004 - 22:41 #28
hmm swf'erne bliver ikke loadet ind...
Avatar billede pyroman Nybegynder
25. august 2004 - 15:50 #29
Det er fordi jeg fun har skrevet funktionerne - du starter det hele ved at kalde:

loadPictureViewer();

i din hovedfil...

Og så skal du sørge for at movieclip'sne "thumbs" og "pictures" eksisterer i samme fil...
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Solution Manager til Cyberdivisionen

Politiets Efterretningstjeneste

Teknisk IT-sikkerhedsspecialist i PET

Politiets Efterretningstjeneste

GenAI Specialist i PET