Avatar billede cyperangel Nybegynder
19. januar 2002 - 17:13 Der er 4 kommentarer og
1 løsning

Lave et spil fra flere movies?

Hejsa. Jeg er i gang med at lave et lille spil i director 7, og jeg har fået et lille probelm. Jeg har et spil hvor man når man støder på et skilt skal læse det. det dukker altså op enten i en anden frame eller i en anden movie. Jeg har prøvet begge dele, men hver gang resettes alle variablene til deres startværdier. Er der en måde at undgå dette på

MVH Rikke
Avatar billede maxium Novice
19. januar 2002 - 17:37 #1
hvad koster director 7???
Avatar billede kanding Nybegynder
19. januar 2002 - 22:08 #2
Du skal lave dine variabler til globale varibler. Det 
gør du ved at fortælle director at den skal behandles som en. F.eks.

global skilt

on mouseUp
skilt = 1
end

nu er denne variabel global og eksitere i RAM mellem frames og movies.

Husk blot at den globale reference skal være enten i topppen af alle scripts du bruger den eller inden for handleren

Avatar billede cyperangel Nybegynder
20. januar 2002 - 10:07 #3
Det jeg mener er, hvordan kan man få ens primære movie til at enten gå over i en anden movie eller over i en anden frame, og stadigvæk gemme oplysninger såsom loch og locv på de sprites der allerede var på skærmen. Jeg vil altså gerne vende tilbage til et skærmbillede der ligner det jed linkede væk fra. (de forskellige sprites der er på skærmen bevæger sig hele tiden horisontalt hen over skærmen...)
Avatar billede cyperangel Nybegynder
20. januar 2002 - 10:08 #4
Jeg bruger desuden allerede kun globale variabler, men de bliver alligevel resat hver gang jeg vender tilbage til min primære movie. æv
Avatar billede kanding Nybegynder
20. januar 2002 - 17:42 #5
OK, det er meget data du skal gemme. Et frame script(som sidder i øverst frame) eller behavior script(sat på en sprite) lever kun inden for et sprite span(de frames som sprites strækker sig over).

Dvs. at de bliver oprettet første gang score\'en kommer ind på sprite\'n og slettes når den forlader sprite\'en. (ikke hvis den looper mellem start og slut, kun hvis den går udover enden)

Nuvel, de sprites du flytter med lingo, bliver resat så snart du hopper ud enten til en frame eller en movie.

Du skal derfor have gemt dine sprites loch og locv i en global variabel, f.eks en liste.
Jeg ved ikke hvad du har ting på scenen, men givet at du vil gemme alt, så kan du lave en rutine der kører igennem alle sprites og gemmer deres loc:

global gSpriteLocList
on gemSpriteLocs

gSpriteLocList = []
repeat with s = 1 to 120
gSpriteLocList.add(sprite(s).loc)
end repeat

end

120 skal evt være størrere, hvis du har flere sprites
Du skal kalde funtionen lige inden du hopper til en anden film eller frame

For at få dem sat til de gemte locs:

global gSpriteLocList

on setSpritesOnStage
ant = gSpriteLocList.count
repeat with s = 1 to ant
sprite(s).loc = gSpriteLocList[s]
end repeat

Hvis dine globaler bliver resat, så check at du ikke laver en clearglobals i startmovie eller glemmer at referere til global i toppen af scriptet eller inden for handleren.

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