16. juli 2003 - 18:02Der er
10 kommentarer og 2 løsninger
Lave en instance
Hey... ok kort og godt, lad os sige jeg har et billede i min cast... hver gang man klikker på en button skal den lave en kopi af det billede et tilfældigt sted på skærmen!
Jeg har ingen problemer med random placering og billede, kun hvordan man laver en kopi af billedet! :)
Prøv dette --tjek om sprit er tom: i = 1 Repeat while sprite(i) <> 0 i = i + 1 x = i end repeat ----- hvis det skal duplikeres gør du sådan myNewImage = member("ditBitmap").image.duplicate() sprite(x).member = myNewImage
-----hvis det ikke skal buplikeres er det: sprite(x).member = member("ditBitmap")
der er et problem med dit loop. Så snart sprite ikke er tom hoppes der ud af loopet. Det er bedre med:
repaet with s = 1 to 1000 if sprite(s).type = 0 then gGlobalSpriteList.add(s) end if end repeat
så får du alle tomme sprites, også dem der er ind imellem din score opbygning.
Desuden bliver du nød til at puppet en sprite før du kan sætte et member på det samt ink'en er som standard copy hvis du ikke sætter den og til sidst så er den på loc 0,0 som udgangspunkt
det er ik fordi jeg har glemt jer... jeg har bare ik haft tid til at prøve det endnu pga. det andet spørgsmål jeg havde herinde... men gør det så snart jeg kan :)
Lingodingo dit forslag virker kun hvis jeg har en MEMBER jeg skal have duplikeret... i mit tilfælde er det et MEMBER som jeg vil have flere forskellige steder på mit stage, og dermed i min SCORE som forskellige sprites.
Men Kanding når jeg så har fundet hvilke sprites der er tomme... hvad gør jeg så for at kopiere min sprite til et af de tomme?? Det var det som jeg ville vide fra starten :)
Desuden er det mere optimalt at køre et repeat loop i starten af filmen der indsamler info om sprites fremfor hver gang du skal finde den næste. Hvis det er tilfældet at der slettes sprites, så skal den sprite kanal bare tilføjes listen igen
kommentar til Kanding: Jeg må sige at jeg prøver at undgå for mange lister/globals, og kan jeg update min aktion real-time ved fx. en simpel loop på en knap eller/og et mother/child-Script med properties er det den metode jeg vil vælge, fordi der så ikke er så mange globals at holde styr på og jeg kan strukturere mit data flow mere nøjagtigt.
wow... jeg må sige at med denne her holder jeg faktisk med LingoDingo... ikke fordi dit forslag var dårligere John, men hans passer faktisk bedre i mit script :) ... tak til jer begge to.
Jamen der er også mange måder at løse et problem på. Jeg bruger selv ikke mange globale variabler, men opretter managers der varetager diverse ting og sager. Her er det så at jeg hellere vil bruge et par milliseconds i starten til at indhente oplysninger i stedet for at gøre det hele tiden. LingoDingos loop vil blive længere for hver gang så teoretisk set, hvis der var en million sprite kanaler ville applikationen gå i stå på et tidspunkt.Ja ja, jeg ved det, jeg har bare gjort det til en vane at tage højde for disse ting, da det ikke tager mere tid. :-)I dit tilfælde blim, er det jo helt fint.
Hvis det var en større applikation ville mange af sådanne løsninger indvirke på performance, især på langsommere maskiner.
Nåh spørgsmålet er lukket nu og vi er alle glade ;-)
Synes godt om
Ny brugerNybegynder
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.