15. januar 2002 - 12:27Der er
17 kommentarer og 1 løsning
Smart måde at spare kode? Billede/Tekst
Hej, jeg skal lave sådan en slideshow CDRom, hvor jeg har en masse billeder med tekst til.
Er det muligt at lave sådan at den skifter en sprite ud med cast afhængigt af hvor man er. Man har en Next knap, klikker man på den vil den automatisk tage det næste billede og tekst, evt. ved at billederne samt teksten har et tal som filnavn? Eller? Jeg er ikke super til Lingo, er lang tid siden jeg har brugt det sidst :)
Men er der nogen med gode idéer vil jeg blive meget glad.
global gcastNum on mouseUp gcastNum = (sprite(1).memberNum + 1) sprite(1).memberNum = gcastNum end
Det skal på din next knap, men så skal dine billeder bare ligge lige efter i hinanden i casten. Og du skal lige ændre sprite nr. hvis det ikke passer til din film!
Det er jo et spørgsmål om man arrangere sin cast på en speciel måde eller om man laver et scripts som arrangerer dem.
den første er ummidelbar den letteste.
Læg dine billeder i en internal cast og kald den \"billeder\". I slot 1 lægges billed 1 og den til hørende tekst i 2 osv.
I et script på din next knap skal du så bare lave en:
property pBilled property pMaxAntalBilleder
on beginSprite me pBilled = 0 pMaxAntalBilleder = castLib(\"billeder\").member.count end
on mouseUp me if pBilled + 1 <= pMaxAntalBilleder then pBilled = pBilled +1 sprite(me.spriteNum).member = member(pBilled , \"billeder\") sprite(spriteSomHarTekstMember).member.text = member(pBilled+1 , \"billeder\").text end if
on beginSprite me pBilled = 1 pMaxAntalBilleder = the number of members of castLib \"Billeder\" end
on mouseUp me if pBilled + 1 <= pMaxAntalBilleder then pBilled = pBilled +1 else pBilled = 1 end if sprite(spriteNrSomHarBilled).member = member(pBilled , \"billeder\") sprite(spriteSomHarTekstMember).member.text = member(pBilled+1 , \"billeder\").text end
----------------
Så skulle den være rigtig, dog har jeg ikke testet det. Husk at spriteNrSomHarBilled skal være nr. på sprite\'n som har billedet på sig
Ok, så for at lave den sprite på scenen trækker jeg bare et billede ned? Eller skal jeg gøre det på en anden måde, lave et feldt eller sådan noget? Hvis man kan :)
den brokker sig over sprite(spriteNrSomHarBilled).member = member(pBilled , \"billeder\")
men det vel fordi jeg ikke giver den det rigtige navn eller?
Den siger: \"Variable used before asigning variable\"
Nu klager den ikke mere, jeg har billede i frame 10, men den skifter ikke ved next... i scriptet over 10 har jeg \"go the frame\". Gør den noget? Ellers drøner den derud af.
prøv i beginSprite at skrive: put pMaxAntalBilleder og læs i message vinduet hvad der står, det kan jo være at den er void eller 0 og så vil den køre else evalueringen.
Det slår mig lige at scriptet vil sætte et tekst member på hver anden gang ;-)
Det er bedre hvis du ligger teksten i sit eget castlib og kald det \"tekst\", så kan du lave et script magen til det med billederne. Fjern: sprite(spriteSomHarTekstMember).member.text = member(pBilled+1 , \"billeder\").text fra scriptet
Tjek evt. getPropertyDescriptionList for at kunne bruge det samme script til begge.
on mouseUp me if pBilled -1 > 1 then pBilled = pBilled -1 else pBilled = pMaxAntalBilleder end if sprite(spriteNrSomHarBilled).member = member(pBilled , \"billeder\") end
Det tog jo lang tid fordi jeg ikke lige testede det af i director, så 60 er helt i orden.;-) Det skal lige siges at der er en endnu smartere måde at lave det på, men det må blive en anden god gang.
Kender du et link til hvordan man laver sin egen scroll, sådan så man selv kan lave sine scroll ikoner osv, har engang lavet det, men så lang tid siden :(
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.