Avatar billede sysop Juniormester
25. maj 2002 - 19:35 Der er 37 kommentarer og
1 løsning

2 i 1

Har lige 2 spørgsmål - 50 points for hver.

1:
Jeg har lavet en movie hvor jeg ønsker startbilledet fader ud, når man trykker på en af menu knapperne FØRSTE gang. Startbilledet ligger i et movieclip(logotint) hvor tweeningen foretages. Jeg har lavet følgende:
on (release) {
    tellTarget ("/logotint") {
        gotoAndPlay(2);
    }
Men det resultere jo kun i at den starter forfra hvergang der trykkes.

2:
Jeg har 15 billeder jeg ønsker skal loades i baggrunden. Alstå mens bruger læser første menupunkt skal de så loades så de er klar til visning. + hvordan kalder jeg dem ind.

Takker.
Avatar billede hoejrup Nybegynder
25. maj 2002 - 20:32 #1
1: Har du husket at lave en stop(); i den sidste frame af dit movieclip?

2:

for (i=1; i<16 ; i++;) {
  dinebilleder = "billed"+i+".jpg";
  loadMovie(dinebilleder, i);
}

/per
Avatar billede sysop Juniormester
25. maj 2002 - 20:59 #2
1: Ja. Mit problem er at den skal vises fra start. Når brugeren trykker på en af mine 15 menuknapper skal den så fade ud. Så vidt jeg kan regne ud må der skulle en eller anden "if" funktionm til?!?!?

2: ??? Det er virkelig sort for mig det dér! Er det et movieclip med instance "dinebilleder"? Ligger den billederne i forskellige frames?

/morten
Avatar billede paask Nybegynder
25. maj 2002 - 21:21 #3
Skal din fade animation startes én gang for hvert menupunkt eller kun første og eneste gang?

Arbejder du i MX eller Flash 5? Eller endnu vigtigere, hvad vil du have din fil eksporteret som til slut, til plug-in 5 eller 6 ?
Avatar billede paask Nybegynder
25. maj 2002 - 21:55 #4
Hvis din logo tween skal afspilles én gang for hvert menupunkt, så¨har jeg lige bikset en løsning sammen. Lige nu nøjes jeg med bare at vise koden, hvis den kan bruges og du vil have forklaringer bliver det først i morgen, for det er jo lørdag aften... ;0)

På selve 'logotint' movieclippet kan du skrive denne kode:

onClipEvent (load) {
    var buttonPressed = false;
    var buttonNumber;
    for (i=0; i<=15; i++) {
        this["pressed"+i] = false;
    }
    function fromButton(number) {
        buttonPressed = true;
        buttonNumber = number;
    }
}
onClipEvent (enterFrame) {
    if (buttonPressed) {
        if (!this["pressed"+buttonNumber]) {
            play();
            this["pressed"+buttonNumber] = true;
        }
        buttonPressed = false;
    }
}

Det eneste du så behøver på dine 15 menuknapper er denne kode:

on (release) {
_parent.logotint.fromButton(1);
}

Hvor tallet '1' skal ændres alt efter hvilken knap der trykkes på, altså nummereres 1-15 på de individuelle knapper.

Mht. den anden del med din load af eksterne billeder, så kommer det an på dit valg af plug-in. Metoderne i MX er betydeligt nemmere da du kan loade billeder direkte som ex .jpg's hvor du i Flash 5 må konvertere hvert enkelt billede til .swf's og hente dem. Den del må vente, ellers er Pers version tæt på en funktionel løsning.

mvh og god aften
paask
Avatar billede hoejrup Nybegynder
26. maj 2002 - 00:08 #5
paask> Det er en flot løsning du har lavet, kunne du ikke lave et eksempel i en fla fil?

Ja, jeg har sikkert misforstået nr. 1 og 2 kunne sagtens være lavet bedre... :o)

2:

Flash MX:

for (i=1; i<16 ; i++;) {
  dinebilleder = "billed"+i+".jpg";
  loadMovie(dinebilleder, "nytMovieClipNavn" + i);
}

Flash 5:

for (i=1; i<16 ; i++;) {
  dinebilleder = "billed"+i+".swf";
  loadMovie(dinebilleder, "nytMovieClipNavn" + i);
}

/per
Avatar billede sysop Juniormester
26. maj 2002 - 13:37 #6
Undskyld jeg ikke har give flere information så i ikke skulle lave så meget forgæves!!

Jeg bruger MX og skal ud i Flash 6.

Jeg ønsker kun tweeningen én gang for alle. Når man kommer ind på siden er billedet fremme, og når man så vælger et tilfældigt menu punkt skal tweening så laves. Dette er den eneste gang den skal være.

Per: Gider du forklarer lidt nærmere hvad du har lavet dér. Du kender mig jo snart godt nok til at vide, at jeg ikke er en haj, og hellere spørger en gang for meget end for lidt!
Hvor skal sciptet ligge osv osv !
Avatar billede hoejrup Nybegynder
26. maj 2002 - 13:54 #7
På den sidste frame i dit movieclip logotint, skal du sætte variablenerne

_root.t = 2;
stop();

På dit movieclip skal du sætte:

onClipEvent (load);
_root.t = 1;
}

on (release) {
    tellTarget ("/logotint") {
      if (_root.t == 1 ) {
        gotoAndPlay(2);
      }
    }
}

Så vil dit movieclip kun starte en gang.

/per
Avatar billede hoejrup Nybegynder
26. maj 2002 - 13:59 #8
Hvis du anvender

for (i=1; i<16 ; i++;) {
  dinebilleder = "billed"+i+".jpg";
  loadMovie(dinebilleder, "nytMovieClipNavn" + i);
}

Så vil dine billeder ligge i nytMovieClipNavn1, nytMovieClipNavn2 osv.
På den måde kan du placere dine billeder efter ønske.

eks.

for (i=1; i < 16 ; i++) {
  var += 30;
  _root["nytMovieClipNavn" + i]._x = 20;
  _root["nytMovieClipNavn" + i]._y = var;
}

/per
Avatar billede sysop Juniormester
26. maj 2002 - 16:09 #9
Per: Logotint kan jeg ikke få til at køre: Når du siger dit movieclip er det så bare under actions for det "logotint" eller hele movien? Jeg har prøvet begge dele intet sker. Den kommer med syntax i debuggeren. Den står bare unden at starte "logotint".

2: Øverste for (i= bla bla ) skal det ligge på actions layeren på selve mainmovie? eller skal det være i menupunktet?
2.1: Vil billederne komme til at hedde billed1.jpg billed2.jpg osv.?
Avatar billede paask Nybegynder
26. maj 2002 - 16:44 #10
Per, tak for kompliment :0)

Jeg har lige lavet et eksempel og uploadet hertil:
http://www.imma.dk/kaare/eksperten/pressButtons.html
http://www.imma.dk/kaare/eksperten/pressButtons.fla

Der kom selvfølgelig lidt reklame på den ;0)
Avatar billede sysop Juniormester
26. maj 2002 - 16:51 #11
Paask: Den du har der burde vel uden de store problemer kunne laves om til det jeg har brug for eller hva?
Avatar billede paask Nybegynder
26. maj 2002 - 16:57 #12
Helt sikkert, men Pers burde være fint effektivt til dit formål, min er lidt for overkill kode til det...

Ellers så prøv denne her...

På dit logotint mc sætter du denne kode:

onClipEvent (load) {
    played = false;
}
onClipEvent (enterFrame) {
    if (buttonPressed && !played) {
        play();
        played = true;
        buttonPressed = false;
    }
}

Og på dine menuknapper:

on (release) {
_parent.logotint.buttonPressed = true;
}

Jeg skriver i øvrigt _parent istedet for din tellTarget. Dot syntaksen er (lidt) mere funktionel og mere up to date.
Avatar billede paask Nybegynder
26. maj 2002 - 17:00 #13
I øvrigt, hvis du benytter Pers metode til 2) så vil dine billeder, som han skriver, komme til at hedde nytMovieClipNavn1, nytMovieClipNavn2 etc. Koden kan du bare placere i 1. frame. Ellers så forsøg dig frem :0)
Avatar billede sysop Juniormester
26. maj 2002 - 17:08 #14
PAASK: Det virker sku bare det skript der. Smid lige et svar for den!
Jeg vil arbejde lidt mere med pers 2ér!
Avatar billede paask Nybegynder
26. maj 2002 - 17:10 #15
Det var da herligt :0)

Her er så et svar, men vent med at acceptere til du har fået Pers til at virke så han også kan få sine point.
Avatar billede sysop Juniormester
26. maj 2002 - 17:17 #16
Selvfølgelig. Per har hjulpet mig meget med mit første betalte projekt. Men som sagt er der 2 x 50 points, så han er jo oplagt til 50 stk.
Avatar billede sysop Juniormester
26. maj 2002 - 18:06 #17
Den laver følgende fejlkode:
Scene=Scene 1, Layer=ACtions, Frame=1: Line 2: Identifier expected
      var += 30;

Scene=Scene 1, Layer=ACtions, Frame=1: Line 4: Operator '=' must be followed by an operand
      _root["nytMovieClipNavn" + i]._y = var;

Er der fejl i scipt eller gør jeg noget helt galt?
Avatar billede paask Nybegynder
26. maj 2002 - 18:12 #18
Der er det galt, at 'var' er et reserveret ord til at definere og skabe nye variabler. Der mangler derfor en Identifier i første del, altså et navn til variablen, og en operand i anden del, en variabel hvormed din statement kan udføres.

Derfor skal du istedet skrive dette:
var variabelNavn += 30;
og
_root["nytMovieClipNavn" + i]._y = variabelNavn;
Avatar billede hoejrup Nybegynder
26. maj 2002 - 21:13 #19
paask: Velbekomme, og tak for rettelsen med var. Jeg er godt bekendt med var et er reserveret til definition af lokale variabler. Derfor plejer jeg også at kalde dem for var1, var2 osv....

/per
Avatar billede paask Nybegynder
26. maj 2002 - 21:18 #20
Jeg regnede også med det bare var en typo :0)
Avatar billede sysop Juniormester
27. maj 2002 - 18:53 #21
Per: Jeg har prøvet en del mht. til nr 2. men intet virker.
Er vi eninge om:
Ovenstående kode indsættes i en layer i hovedfilmen?!
Hvad gør jeg lige i den kanp der skal kalde billedet frem?
Avatar billede hoejrup Nybegynder
27. maj 2002 - 21:35 #22
Jeg anvender normalt Flash 5, men jeg følger skam med i Flash MX funktioner.
Hvad sker der hvi du i stedet for skriver:

for (i=1; i<16 ; i++;) {
  loadMovie("billed"+i+".jpg", _root["nytMovieClipNavn" + i]);
}

/per
Avatar billede hoejrup Nybegynder
27. maj 2002 - 21:36 #23
Ups jeg opdagede lige en fejl.

for (i=1; i<16 ; i++) {
  loadMovie("billed"+i+".jpg", _root["nytMovieClipNavn" + i]);
}

/per
Avatar billede hoejrup Nybegynder
27. maj 2002 - 21:42 #24
on (release) {
  i = 1;
  _root["nytMovieClipNavn" + i]._visible = true;
  // placeringen af dit billede
  _root["nytMovieClipNavn" + i]._x = 200;
  _root["nytMovieClipNavn" + i]._y = 200;
}

/per
Avatar billede hoejrup Nybegynder
27. maj 2002 - 21:43 #25
Ja, du skal loade dem ind i din hoved film.

/per
Avatar billede sysop Juniormester
28. maj 2002 - 19:50 #26
Per: Der sker det at den tager det sidste billed og erstatter movien med. Jeg har prøvet ligge scriptet ind i et movieclip, og der virker så med at loade sidste billed ind der. Men mht til knappen, hvordan styrer jeg hvilke billed jeg vil vise. Den du har lavet skifter umidlbart ikke billed eller også loader den det sidste billed ind igen.
Avatar billede hoejrup Nybegynder
28. maj 2002 - 22:34 #27
for (i=1; i<16 ; i++) {
  loadMovie("billed"+i+".jpg", mitbillede);
  _root["nytMovieClipNavn" + i] = mitbillede;
}


Hvis det skal styres af kun en knap, så kan du kun sætte en tæller på den.

on (release) {
  i++;
  _root["nytMovieClipNavn" + i]._x = 200;
  _root["nytMovieClipNavn" + i]._y = 200;
  if ( i > 15 ) {
    i = 1;
  }
}

/per
Avatar billede sysop Juniormester
29. maj 2002 - 10:14 #28
Per, den skal ikke kun styres af en knap, men hvis jeg har 15 billeder er det 1 billed til hver knap. Jeg har ikke prøvet ovenstående endnu!!!
Avatar billede sysop Juniormester
29. maj 2002 - 19:00 #29
Per det virker sku ikke rigtigt det dér.

Dette har jeg sat i min mainmovie: Den loader bare ind og erstatter den oprindelige movie.

for (i=1; i<16 ; i++) {
  loadMovie("billed"+i+".jpg", mitbillede);
  _root["nytMovieClipNavn" + i] = mitbillede;
}

Hvis jeg laver et movieclip og sætter den ind i så giver den mig fejl der siger:
Statement must appear within on/onClipEvent handler

Hvad skal jeg gøre?
Avatar billede sysop Juniormester
29. maj 2002 - 19:01 #30
AHHH shit jeg fik givet alle points til Paask. Per jeg giver dig 50 points på et andet spørgsmål!!!
Avatar billede hoejrup Nybegynder
29. maj 2002 - 19:33 #31
sysop> Så kan paask lave et spørgsmål med 50 point.
Avatar billede hoejrup Nybegynder
29. maj 2002 - 19:35 #32
Jeg kender ikke opbygningen af din fla fil, så det kan jeg ikke komme med en forklaring på.

onClipEvent (load){
  for (i=1; i<16 ; i++) {
    loadMovie("billed"+i+".jpg", mitbillede);
    _root["nytMovieClipNavn" + i] = mitbillede;
  }
}

/per
Avatar billede sysop Juniormester
29. maj 2002 - 19:53 #33
Per så har jeg næsten fået det til at virke, blot mangler jeg lige svar på hvordan jeg styrer hvilket billed der kommer frem i mine menuer:
on (release) {
  i++;
  _root["nytMovieClipNavn" + i]._x = 200;
  _root["nytMovieClipNavn" + i]._y = 200;
  if ( i > 15 ) {
    i = 1;
  }
}

Hvad styrer billed nummeret?
Avatar billede sysop Juniormester
29. maj 2002 - 19:54 #34
Hvis ikke Paask vil give point (hvilket jeg dog ikke tror er noget problem), må du lige give besked så får du bare af mig!
Avatar billede hoejrup Nybegynder
29. maj 2002 - 21:08 #35
paask plejer altid at være en flink mand!

on (release) {
  i = 1; // så komme billede 1 frem
  _root["nytMovieClipNavn" + i]._x = 200;
  _root["nytMovieClipNavn" + i]._y = 200;
  if ( i > 15 ) {
    i = 1;
  }
}

on (release) {
  i = 2; // så komme billede 2 frem
  _root["nytMovieClipNavn" + i]._x = 200;
  _root["nytMovieClipNavn" + i]._y = 200;
  if ( i > 15 ) {
    i = 1;
  }
}

dvs. en knap pr. billede

/per
Avatar billede paask Nybegynder
29. maj 2002 - 21:53 #36
Tak Hoejrup, vil deler i porten :0)
http://www.eksperten.dk/spm/218031

Og tak for point sysop, håber det hele kommer til at køre efter planen.
Avatar billede hoejrup Nybegynder
29. maj 2002 - 23:24 #37
Tak for point!

/per
Avatar billede sysop Juniormester
31. maj 2002 - 15:51 #38
1000 Tak for hjælpen begge 2.
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