Avatar billede alpapa Nybegynder
15. juni 2002 - 09:48 Der er 5 kommentarer og
2 løsninger

Variabel

Hejsa Lingoeksperter.

Er ved at lave et spil - men der er noget der driller :-(
Jeg har 4 variabler som skal være opfyldt før man kan få lov til at spille spillet...
Brugeren skal samle 4 forskellige genstande op og putte dem i sin taske, når de 4 objekter er samlet og brugeren forsøger at starte spillet bliver der tjekket om samlet = 4. Hvis ja, kan man spille, hvis nej, har brugeren ikke samlet alle 4 endnu.
Problemet er, at når man samler et objekt op tæller samlet = samlet + 1 til mere end 1 hver gang. Hvordan undgår jeg det?

global samlet
-----------------------------------
property nøgle
-----------------------------------
on beginSprite me
 
  nøgle = false
 
  sprite(30).visible = true
 
end beginSprite me
-----------------------------------
on exitFrame me
 
  if sprite(30).intersects(34) then   
    sprite(30).visible = false
    sprite(35).member = "nøgle"
    nøgle = true
  end if
 
  if nøgle = true then
    samlet = samlet + 1
  end if

end exitframe me

På forhånd tak.
alpapa
Avatar billede Himbear Nybegynder
15. juni 2002 - 10:47 #1
Det er fordi du har den i en exitframe, du skal tænke på at nøgle er true hele tiden, når du fundet nøglen. Så hver gang den kører igennem framen, så plusser den 1.

Du kan nok ordne det ved at bruge det her:

if nøgle = true then
samlet = samlet + 1
nøgle = done
end if

Så vil den kun gøre det én gang. Er du med?
Avatar billede alpapa Nybegynder
15. juni 2002 - 10:53 #2
Ja, jeg kan godt se problemet med at exitFrame bliver ved med at tælle så længe nøgle = true :-(
Når jeg skriver tilføjer 'nøgle = done' i scriptet kommer der fejl ?
alpapa
Avatar billede alpapa Nybegynder
15. juni 2002 - 11:13 #3
Jeg kan godt se logikken i det du skriver - er der en anden måde man kan fortælle Director at den kun skal læse scriptet 1 gang ?

if nøgle = true then
    samlet = samlet + 1
  end if

alpapa
Avatar billede Himbear Nybegynder
15. juni 2002 - 19:10 #4
Grunden til at den melder fejl, er jo at nok at du ikke har

property nøgle

i toppen af scriptet.
Avatar billede Himbear Nybegynder
15. juni 2002 - 19:13 #5
Eller også skal du sætte scriptet over på din knap, der sker det jo kun en gang.
Avatar billede alpapa Nybegynder
16. juni 2002 - 10:18 #6
Jeg har property nøgle i toppen af scriptet, har også prøvet at lægge scriptet i 'on mouseDown me', stadig fejl.
Dette script forøger samlet med 1 hver gang - pyha... 

global nøgle, b, samlet
-----------------------------------
on beginSprite me
 
  b = 0 
  nøgle = 0
 
  sprite(30).visible = true
 
end beginSprite me
-----------------------------------
on exitFrame me
 
  if sprite(30).intersects(34) then   
    sprite(30).visible = false
    sprite(35).member = "nøgle"
    nøgle = 1
    b = b + 1   
  end if
 
  if b = 1 then
    samlet = samlet + 1
  end if
 
end exitFrame me

Men tusinde tak for indsatsen - det er rart at nogen gider hjælpe :-)
alpapa
Avatar billede Himbear Nybegynder
17. juni 2002 - 10:36 #7
Det var så lidt.
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