Du kan enten gøre det med image lingo, men det kræver alligevel en del hvis der er noget der skal "falde sammen". Jeg ville lave bjerget af 20-30 sprites og så skrive et script som blev droppet på alle stykkerne. De skulle vide hvilke sprites de havde som naboer. Hvis de blev skudt væk, skulle de informere deres naboer om at de var fjernet. Når et stykke modtager meddelelsen om at en eller flere naboer var fjernet skulle den falde nedad indtil den ramte en anden nabo osv.
det kan godt være at du ikke behøver 30, men 10. Jeg kan ikke lige se at du kan lave det anderledes. Så skulle det være med lister, men du skal jo vide hvor der bliver ramt og for at skelne mellem de forskellige skud, så er det lettest at gøre det på sprite niveau.
Kanding dit forslag er nu ikke godt nok! Det ville se mærkeligt ud at f.eks. den ene halvdel af bjreget faldt sammen på en måde, og den anden på en anden måde! De skal hænge sammen... altså jeg tænker noget i stil med tegn-slet metoden. Altså hvor der simpelthen står "Vent et øjeblik", også tegner den landet om igen. Men ville gerne have at man kunne se bjerget falde.
ok jeg troede at det skulle være mere dynamisk. Det kræver jo sådan set bare bjerget i forskellige stadier. Et helt bjerg, 4 -10 stadier af at det crasher og et hvor det er faldet sammen. Så du tester om bjerget er ramt, hvis det rammes, skifter du til den første af crash billederne og kører indtil de er færdig hvorpå du sætter "faldet sammen" billedet på.
Hvis du skal være lidt mere nuanceret så skal du test hvor på bjerget der rammes og kører en animation der svarer til den side der blev ramt i.
Det var også en mulighed at have en masse små sprites, som hver frame får lagt én til deres locV, hvis de ikke intersecter med andre sprites. Dette vil kræve en hel del små sprites, men tilgengæld vil der ikke skulle laves særlig meget kode. Tror desuden at det vil give en fed effekt... :)
Kanding det skal netop være dynamisk! Når jeg siger at jeg tænker "tegn & slet" så mener jeg at når en bjergside bliver ramt, så skriver den "øjeblik" og imens så beregner den f.eks. hvor mange pixels der mangler på det sted, og bruger så fra det antalpixels der er over hullet.
Sparkls forslag var skam god nok... det eneste er bare at det ville kræve MEGET høje systemkrav hvis et kæmpebjerg blev sprængt væk :)
det er let nok at tegne/fjerne pixels, men at animere at den falder sammen er en ande sag. Eller også misforstår jeg hvordan det ser ud. Er der et sted man kan se noget, eller har du nogle dumps du kan sende til mig?
Tror ikke det nødvendigvis behøver at give høje systemkrav, da det er en ret simpel beregning som foretages.
Det er ikke nødvendigt at beregne for alle sprites hele tiden, da det kun vil være lige efter en eksplotion der vil ske ændringer. Der ud over vil det kun være sprites som ligger over eksplotionspunktet i bredden af hullet, som det er nødvendigt at beregne på. Når spritene beregnes nedfra, vil det også være rimelig let at konkludere, at hvis en sprite skal stige i locV, så skal alle sprites der ligger ovenover denne sprite også.
Hvis du kender dimensionerne på dine sprites, behøver du ikke bruge intersect funktionen. Det nok vil være hurtigere at lave en matematisk beregning som bestemmer om en sprite rører ved andre sprites.
Sparkl, det du siger er altså at hele landskabet skal bestå af små sprites... Men du skal huske at landskabet skal altså bestå af tilfældige kurver, og at en af disse sprites skal kunne ødelægges på uendelig mange måder! Hvordan vil du klare det med sprites? For indtil videre ser det ud som om det er den eneste løsning!
For dem der er interesserede har jeg fundet løsningen! Landskabet består af et enkelt sprite, men denne sprite genereres (næsten) tilfældigt, så det kommer til at ligne et bjerget landskab.
Det der så sker når en bombe rammer landskabet og efterlader et hul i bjerget er, at programmet så selv finder ud af hvor mange vandrette pixels hullet består af. Den tager så det stykke af bjerget der er ovenover over og deler det op i ligeså mange lodrette linjer, som der er vandrette pixels i hullet.
Det vil altså sige at hvis hullet i bjerget har en diameter på 50 pixels, vil den dele bjerget ovenover op i 50 linjer. Derefter vil hver af de 50 linjer falde indtil de rammer enten resten af bjerget eller bunden af vores stage, hvor hver af dem vil standse individuelt, afhængigt af hvornår hver linje rammer noget.
Det var da ikke så svært vel? ;) Men tak for alle jeres ideer og indslag... det førte bare ikke til det rette svar! Men tak alligevel...
Altså vi har lavet forsøget med et "landskab" med 2 pixels... bare for at prøve, og det virkede når vi fjerne noget af midten :) så kollapsede det sammen som vi ville have det.
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.