Avatar billede tbendiksen Nybegynder
18. februar 2001 - 12:40 Der er 9 kommentarer og
1 løsning

Director og lingo

Sikkert et nemt nok spørgsmål for en trænet lingo-programør, men for en der ikke har helt tjek på det, er det ikke så nemt:

Jeg har brugt en ”rollover member change” i Director til at endre en sprite til en anden ved mouseover. Men samtidig vil jeg gærne have at mouseover-funktionen også starter en anden sprite. Jeg har forsøgt at lave to ”rollover member change” i samme sprite, som hver åpner sin forskellig sprite, noget der ga et resultat hvor begge de ”nye” sprite blev liggende oveni hinanden og det var ikke helt det der var meningen.

Har kigget lidt i help og fundet du af at det måske er ”sendsprite” jeg skal bruge? Men som sagt, jeg er nybegynder i lingo og kan ikke få det til at fungere. Måske er der nogen der kan give mig en idiotsikker opskrift?
Avatar billede hoejrup Nybegynder
18. februar 2001 - 12:57 #1
Du kan måske bruge denne kode:

on exitFrame
  set myRoll = the RollOver

  case myRoll of

    3:
      set the member of Sprite myRoll = member \"aktiv\"
      set the member of Sprite 4 = member \"aktiv\"
  otherwise
      set the member of Sprite 3 = member \"passiv\"
      set the member of Sprite 4 = member \"passiv\"
  end case
  updateStage
  go to the frame
end


/per

Avatar billede kanding Nybegynder
18. februar 2001 - 13:27 #2
Jeg ved ikke hvad du gerne vil \"starte\" på den anden sprite, men det er oplagt at bruge sendsprite funktionen. En god ide er at tænke over hvilke ting der er forskellige for de 2 sprites og opbygge et system derefter. F.eks hvis du ligger dit rollover member lige ved siden af det almindelige member, kan du initialisere din sprite således.
----- SCRIPT HER ---
property pSprite
property pMem
property pRollMem
on beginSprite me
pSprite = me.spriteNum
pMem = sprite(pSprite).member.number
pRollMem = pMem + 1
end
Her vil sprite checkke hvilket member den har på sig og finde rollmember ved at lægge en til sit eget member nummer.
Derefter:
--- MERE SCRIPT HER --
on mouseEnter me
sprite(pSprite).member = member(pRollMem)
sendSprite(5, #Start_whatever_should_be_started)
end

on mouseLeave me
sprite(pSprite).member = member(pMem)
end

on Start_whatever_should_be_started me
put \"Jeg modtog et kald fra sprite\" && spr
end
-- SLUT PÅ SCRIPT --

Mouseenter sender et kald til sprite 5. Hvis du vil have flere knapper som skal modtage kaldet må skrive flere sendSprite kald.
Der er en bedre måde at gøre det hele på, men hvis du er ny så må det hellere vente lidt ;-)

Du kan kopiere alt indenfor -- SCRIPT -- ind i en behavior, bare husk at fjern mine kommentarer ellers får du fejl.

-kanding
Avatar billede tbendiksen Nybegynder
21. februar 2001 - 16:23 #3
Beklager forsinkelsen, men jeg har endelig fået kigget lidt på jeres svar.

>put \"Jeg modtog et kald fra sprite\" && spr

Hvad skal jeg gøre her Kanding?

--tbendiksen
Avatar billede kanding Nybegynder
21. februar 2001 - 17:30 #4
Der skal du starte det som du gerne vil starte. Ellers beskriv nærmere hvad du gerne vil opnå, så skal jeg putte det ind i scriptet. Med mindre du VIL lære ;-)

kanding
Avatar billede tbendiksen Nybegynder
24. februar 2001 - 13:03 #5
Man vil da altid lære, men det begynder at haste med at få siden op at køre :-)

Jeg har lagt to directorfiler ud på nettet så er det måske lidt nemmere at forstå hvad jeg taler om. Min indgangside ligger på http://www.angelfire/ok/bendiksen/scenelys.html

Faderne fungerer som links til mine ”undersider”. Når man så kør musen over hver fader, kører faderanimationen (RollOver Member) samtidig at du dukker op en jpg-fil som fortæller hvad ”undersiden” indeholder: http://www.angelfire/ok/bendiksen/scenelys2.html Altså, - ved mouseover starter animationen samtidig med at  biografi.jpg ”åbnes”.

Håber det her er lidt mere forståelig..
--tbendiksen
Avatar billede tbendiksen Nybegynder
24. februar 2001 - 18:42 #6
I mit hastværk har jeg vistnok givet forkert adresser. Det skal være:
http://www.angelfire.com/ok/bendiksen/scenelys.html og http://www.angelfire.com/ok/bendiksen/scenelys2.html
Avatar billede kanding Nybegynder
25. februar 2001 - 00:06 #7
Hvis du har en sprite til hver jpg er det bare at lave et system hvor fader sprites ligger i fx. 5,6,7,8 og jpg sprites ligger i 10,11,12,13.
Du kan nøjes med dette her:

on mouseEnter me
sprite(pSprite).member = member(pRollMem)
sprite(pSprite + 5).visible = 1
end

on mouseLeave me
sprite(pSprite).member = member(pMem)
sprite(pSprite + 5).visible = 0
end

... men hvis du vil følgge den føromtalte måde så gør sådan her

-- modificer dine script således:
on mouseEnter me
sprite(pSprite).member = member(pRollMem)
sendSprite(pSprite + 5, #showJpg) 
end

on mouseLeave me
sprite(pSprite).member = member(pMem)
sendSprite(pSprite + 5, #closeJpg ) 
end

Lav en ny behavior til jpg sprites:

on beginSprite me
sprite(me.spriteNum).visible = 0
end

on showJpg me
sprite(me.spriteNum).visible = 1
end

on closeJpg me
sprite(me.spriteNum).visible = 1
end

begge to virker lige godt.

Håber det løser de sidste problemer.
Avatar billede tbendiksen Nybegynder
02. marts 2001 - 14:10 #8
Jeg takker for din tålmodighed, men som nevt så er jeg ny i Lingoprogrammering og har stadigvæk nogle spørgsmål:

Jeg har prøved følgende script;
______________________________________
on mouseEnter me
sprite(pSprite).member = member(pRollMem)
sprite(pSprite + 5).visible = 1
end

on mouseLeave me
sprite(pSprite).member = member(pMem)
sprite(pSprite + 5).visible = 0
end
_______________________________________
Jeg er lidt usikker hvad jeg skal skrive imellom ( ) Jeg regner med at man skal bruge filernes nummer i Cast? Men hvilken fil skal stå hvor i scriptet? Og jeg regner med at jeg stadigvæk skal beholde mit rollover member script der ligger på hver fader? Og til sist, hvad angiver den ”nye” jpg-fils (ex: biografi.jpg) plassering?
-tbendiksen
Avatar billede kanding Nybegynder
02. marts 2001 - 15:09 #9
Det er mig der glemte at sige at du skulle modificere det gamle. Her er det samlede script. Jeg har ikke prøvet det i director, men det sku\' være OK.


Husk at dit rollover member skal ligge lige ved siden af dit almindelige member i cast\'en
----- SCRIPT HER ---
property pSprite
property pMem
property pRollMem

on beginSprite me
pSprite = me.spriteNum
pMem = sprite(pSprite).member.number
pRollMem = pMem + 1
sprite(pSprite + 5).visible = 0
end

on mouseEnter me
sprite(pSprite).member = member(pRollMem)
sprite(pSprite + 5).visible = 1
end

on mouseLeave me
sprite(pSprite).member = member(pMem)
sprite(pSprite + 5).visible = 0
end
-- SLUT PÅ SCRIPT --

Dine jpgs skal lægges ud på stage der hvor du vil have de skal \"dukke\" op. De skal efter vores system ligge i en spritekanal som er 5 højere oppe end din fader.
Hvis fx. fader 1 ligger i sprite 5, så skal den jpg der skal dukke op ved rollover ligge i sprite 10.
Avatar billede tbendiksen Nybegynder
06. marts 2001 - 19:42 #10
Ah endelig ku\' jeg finde ud af det :-)
Det kommer nok et par spørgsmål mere i samme kategori, men indtil da så takker jeg og lukker spørgsmålet
-- tbendiksen
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
Kurser inden for grundlæggende programmering

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