Avatar billede esbencoldingbroe Nybegynder
31. oktober 2001 - 09:16 Der er 12 kommentarer og
1 løsning

menu knapper

Jeg har et problem med mine knapper (jeg er newbie..stadig).
Jeg ønsker at mine knapper skal lyse en anden farve når musen er over dem, og ligeledes \"slukke\" for farven når musen forlader deres areal, men ikke når musen akrivere dem. Så skal de/den forblive tændt indtil en anden knap er aktiveret.
Jeg har selv prøvet at bruge mousewithin osv. fra Directors eget bibliotek, men der opstår en konflikt mellem mouseLeave og MouseUp når jeg forlader arealet.
Avatar billede Himbear Nybegynder
31. oktober 2001 - 10:55 #1
Du skal sætte det her ind på din knap, som en behavior:

global ButtonPref
on MouseEnter Me
  sprite(me.spritenum + 3).visible = TRUE
end
on MouseUp Me
  sprite(4).visible = FALSE
  sprite(5).visible = FALSE
  sprite(6).visible = FALSE
  sprite(me.spritenum + 3).visible = TRUE
  set ButtonPref = me.spritenum
end
on MouseLeave Me
  if ButtonPref <> me.spritenum then
    sprite(me.spritenum + 3).visible = FALSE
  end if
end


------------------

Jeg har lavet det som om, du har tre knapper. Og at knap 1 ligger i sprite 1, knap 2 i sprite 2 osv. og at \"lyset\" til knap 1 ligger i sprite 4 (altså + 3).

Hvis det ikke kan lade sige gøre skal du bare ændre på talene. Men det skal jo være ens for alle knapperne, så både knap1 og knap2\'s lys ligger i en sprite der har det samme forhold.

Spørg bare hvis der er mere!
Avatar billede esbencoldingbroe Nybegynder
31. oktober 2001 - 12:32 #2
Tak for dit svar.Jeg efterprøver det nu her i eftermiddag.

Jeg vil lige bemærke, at jeg har prøvet at få det til at fungere med en behavior som ændre ink´en. Således er ink 3 (ghost) det nummer som får min tekst/sprite til at lyse, mens ink 30 får det tilbage til normal \"background to transparent\".

Kunne det så ikke løses med noget der ligner dette her:

(jeg har taget udgangspunkt i dit script)

global ButtonPref
on MouseEnter Me
  set current spritemember ink to 3 (den transperante tekst lyser hvid)
end
on MouseLeave Me
  if mouseUp me (har fundet sted) set ink to 3 (den transperante tekst lyse forsadt hvid)

  else set ink to 30 (den transperante tekst går tilbage til udseendet før mouseEnter, og lyser ikke hvid mere9
  end if
end

Jeg ved at meget af det her er volapyk, men håber, at du kan gennemskue meningen.
Igen tak for svaret!
Avatar billede Himbear Nybegynder
31. oktober 2001 - 12:48 #3
Jeg har lidt svært ved lige at gennemskue hvad du mener! Jeg tror at det nemmeste er at du bare bruger det jeg har lavet hehe!

Hvorfor har du afvist mit svar? :)
Avatar billede esbencoldingbroe Nybegynder
31. oktober 2001 - 13:01 #4
Det var ikke med vilje..Hvad skal jeg gøre for at du kan få dine point.
Kan jeg ikke lade spmen stå åbent lidt endnu, måske er der andre der har et bud.
Avatar billede Himbear Nybegynder
31. oktober 2001 - 13:08 #5
Jeg kan bare svare igen hehe!

Er mit da ikke godt nok?
Avatar billede esbencoldingbroe Nybegynder
31. oktober 2001 - 14:04 #6
Jo, det er meget godt. Det er ikke det -og undskyld igen fordi jeg kom til at afvise.

Jeg prøver lige at forklare situationen igen. :)

Jeg har en tekst knap som hedder \"intro\". Som den står i min menu linker den til en movie via. en marker som hedder \"intro\".
Teksten har forøvrigt den egenskab at ink´en er sadt til \"background to transperant\" svarende til lingo værdien 30. Værdien 3, som også optræder i mit skript henviser til en ink, som hedder \"ghost\" (det er DENNE som gør min knap \"intro\" hvid.

Pt. har knappen følgende interaktion.

on mouseWithin me
  set the ink of sprite the currentSpriteNum to 3
 
end (knappen bliver hvid)

on mouseLeave me
  set the ink of sprite the currentSpriteNum to 36

end (knappen får sin oprindelig farve)

on mouseUp me
go to \"intro\" (min marker)
set the ink of sprite the currentSpriteNum to 3*

end (knappen blive hvid)

* Denne linje går i konflikt med min mouseLeave kommando, da denne ændre ink of sprite til 30.

Problemet er; at det er meningen, at min mouseLeave kommando KUN skal være gældende når knappen \"intro\" ikke er blevet aktiveret med MouseUp.

PS. jeg skal nok acceptere vinduet i dag :)
Avatar billede Himbear Nybegynder
31. oktober 2001 - 14:30 #7
ja det er helt i orden har du kun den ene knap?

hvis ja så brug dette

global ButtonPref
on MouseEnter Me
  sprite(me.spritenum).ink = 3
end
on MouseUp Me
go \"marker\"
sprite(me.spritenum).ink = 3
set ButtonPref = pressed
on MouseLeave Me
  if ButtonPref <> pressed then
    sprite(me.spritenum).ink = 30
  end if
end
Avatar billede esbencoldingbroe Nybegynder
31. oktober 2001 - 15:39 #8
Det ser meget rigtigt ud nu. Mange tak.

Nej, jeg har faktisk en del knapper, hvad betyder det? Har det noget med udtrykket \"global ButtonPref\" at gøre?

tino_bh rules!!

Avatar billede Himbear Nybegynder
31. oktober 2001 - 15:46 #9
Nej det var fordi at det første script jeg havde lavet var lavet sådan, at det var flere knapper der skulle trykkes på.

buttonpref er bare noget jeg har navngivet den, du kan ændre det til hvad som helst. Du skal selvfølgelig gøre det konsekvent!

... tak hehe!
Avatar billede esbencoldingbroe Nybegynder
31. oktober 2001 - 15:58 #10
ok. Jeg har lige prøvet den og den kommer med en Error:

Variable used before assigned a value

Set ButtonPref = pressed?
Jeg er nødt til at gå nu..,men er tilbage i morgen og venter med at lukke indtil da.
mojn.
Avatar billede esbencoldingbroe Nybegynder
01. november 2001 - 10:43 #11
Jeg prøver lige at oprette en ny spm, hvor jeg vil høre om der er nogle som ved hvorfor mit scrit ikke virker.
Men ellers mange tak for hjælpen Tino.
Avatar billede Himbear Nybegynder
01. november 2001 - 10:47 #12
nej det behøver du ikke!

... øjeblik!
Avatar billede esbencoldingbroe Nybegynder
01. november 2001 - 10:49 #13
Hovsa..
Det har jeg allerede gjort! ups!
:)
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