06. januar 2003 - 12:30Der er
6 kommentarer og 1 løsning
streger fra punkt til punkt
jeg er igang med at lave et simpelt spil om at rejse i sydamerika. I forbindelse med det skal man kunne vælge hovedstæderne i de forskellige lande for at flyve til et nyt land. Det kunne være lækkert om man kunne tegne en streg fra der hvor man befinder sig til destinationen ved at klikke på destinationen. Samtidig skulle man kunne måle stregens længde for at kunne bestemme prisen på billetten dertil.
Håber der er nogen der kan hjælpe mig til løsningen på dette forholdsvist simple og så alligevel for mig så svære problem!
en måde dette kan opnås på er at bruge Directors line tool til at tegne en linie, som du så kan kontrollere start og slutpunktet på, ved at ændre på dimensionerne af den sprite som indeholder linien.
Det vil sige, at når du har start og slutpunktet for hvor linien skal gå, kan du ved at sætte spritens locV,locH,width og length ændre liniens dimensioner så den går fra startpunktet til slutpunktet.
Du kan også bruge lingo til at manipulere vertex'erne i et Director vectorshape castmember. Dette giver meget mere kontrol over linien, men kræver at du sætter dig ind i hvordan directors vectorshapes fungerer og hvordan man kan manipulere dem ved hjælp af lingo.
For at finde afstanden fra startpunktet til slutpunktet kan du ved at udregne den vertikale og horisontale afstand og derefter bruge Pythagoras sætning, finde frem til afstanden i luftlinie mellem startpunktet og slutpunktet.
Det kan jeg sådan set godt forstå - det var dette linetool jeg ledte efter i hjælp, men enten er det mig der ikke er knivskarp eller også skal stregen tegnes inden i en allerede defineret sprite... Mit problem er at jeg kommer til at arbejde med flere sprites der vil være de pågældende punkter der skal tegnes streg imellem... Vectorshape er jeg slet ikke inde i, og kommer det nok heller ikke i denne omgang, for det er i forbindelse med et projekt i skolen og der bliver nok ikke så meget tid til så omfattende projekter... hvorom alting er skal linien kunne tegnes mellem to definerede punkter på stagen eller mellem to sprites. så hvordan er det lige at linetool'et fungerer? på forhånd tak Thomaaaz
halløjsa Ja det var også en mulighed jeg havde i tankerne, men problemet er at det ville være lige omkring 72 forskellige linier... Dem har jeg ikke lyst til at tegne (kald mig doven...) - Men jeg ved stadig ikke hvad koden er for linetool'et... en anden idé jeg tænkte på var om man kunne lade en anden sprite bevæge sig fra en sprite(a) til sprite(b)... Er dette muligt og i så fald, har du en løsningsmulighed?
her er et eksempel hvordan du kan bruge spritedimensionerne til at styre din line tegnet med linetool'et.
Først skal du lave to linier med linetool'et.
Den første linie skal gå fra venstre og nedad mod højre. Placer denne linie i sprite channel 1.
Den anden linie skal gå fra højre og nedad mod venstre. Placer denne linie i sprite channel 2.
Her er noget kode som du kan smide ind i dit moviescript. Når du afspiller movien, skulle der nu gerne blive tegnet en linie hver anden gang du trykker på stagen, mellem det sted hvor du trykker første gang og det sted du trykker anden gang.
Global punkt1, punkt2
on startmovie punkt1 = "tom" punkt2 = "tom" sprite(1).rect = rect(-5,-5,-5,-5) sprite(2).rect = rect(-5,-5,-5,-5) end
on mouseup if punkt1 = "tom" then punkt1 = the mouseloc else if punkt2 = "tom" then punkt2 = the mouseloc end if
if punkt2 = "tom" then sprite(1).rect = rect(-5,-5,-5,-5) sprite(2).rect = rect(-5,-5,-5,-5) else if punkt1[1] < punkt2[1] and punkt1[2] < punkt2[2] or punkt1[1] > punkt2[1] and punkt1[2] > punkt2[2] then sprite(1).rect = rect(punkt1[1],punkt1[2],punkt2[1],punkt2[2]) punkt1 = "tom" punkt2 = "tom" else sprite(2).rect = rect(punkt1[1],punkt1[2],punkt2[1],punkt2[2]) punkt1 = "tom" punkt2 = "tom" end if end
Kanon!!! Det funker sgu og det der det jeg skal bruge (ellers prøver jeg at rette det lidt til - Ellers kommer der nok et spørgsmål eller to mere! Tak for hjælpen! /Thomaaaz
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.