Avatar billede wilweb Nybegynder
22. oktober 2001 - 22:57 Der er 11 kommentarer og
2 løsninger

Flash spil

Jeg er ved at lave et spil, hvor man skal ramme en skyde skive.
jeg skal bruge en timer der kører når musen holdes nede. (timeren bestemmer hvor højt eller hvor lavt der sigtes + der tages højde for musens position)
Sådanne en skydeskive består af flere runde cirkel (i mit tilfælde 6 cirkle), og her jeg mangler en ide til hvordan man registrerer hvad der rammes.
Det er jo faktisk 2 spørgsmål, så jeg giver 30 point for hjælp til løsning af timeren problemet og yderlige 60 for løsningen til registringen af det ramte område.
jeg håber at spørgsmålet er forståeligt.
Avatar billede gotcha Nybegynder
22. oktober 2001 - 23:28 #1
Hvis du vil affyre en kugle, og den tid man holder knappen ned er proportional med kuglens hastighed (jo længere man holder musen ned, desto hurtigere bevæger kuglen sig), så kan du bare bruge følgende:

onClipEvent (mouseDown) {
    start = getTimer();
}
onClipEvent (mouseUp) {
    elapsed = (getTimer()-start)/1000;
}

Variablen elapsed kan du så bruge til at udregne kuglens hastighed. Du kan f.eks. gange den med en eller anden værdi:

velX = elapsed*20;

Denne lægger du så hele tiden til positionen. Mht. den anden del af spørgsmålet, så ville jeg sørge for at skydeskiverne har hensigtsmæssige navne, og så vedhæfte noget kode til kuglen, der hele tiden kontrollerer, om det rammer en skive (dette gøres selvfølgelig ved at bruge hitTest).

Mvh Morten

Avatar billede wilweb Nybegynder
22. oktober 2001 - 23:55 #2
mus-timeren lyder til at være OK!
Problemet med hitTest er at der registreres på hele movie clip\'s areal og ikke kun det område der er fx. er en cirkel, det vil sige at hvis jeg rammer i et af hjørnerne af et movie clip med en cirkel i så bliver det registreret som et hit selv om man egentlig ikke ramte noget.
     
Avatar billede paask Nybegynder
23. oktober 2001 - 00:17 #3
Jeg sidder selv og laver et spil for tiden, og har fundet frem til at _droptarget faktisk er ganske nyttig. Jeg lavede lige flg. forsøg med en  cirkel (et par pixel bred, ikke fyldt ud, ie. den ene af de seks cirkler i skydeskiven) med dette AC:

onClipEvent (enterFrame) {
    if (eval(_root.skud._droptarget) == this) {
        this._alpha = 20;
    }
}

Det virkede når \'skud\' MC\'et berørte, ikke når det var midt i cirklen eller udenfor (heller ikke i firkanten omkring MC\'et cirkel).

Prøv dig frem med _droptarget... hvis vi er heldige virker det ;0)

mvh
paask
Avatar billede wilweb Nybegynder
23. oktober 2001 - 00:33 #4
paask :> jeg prøver lige din metode
Avatar billede wilweb Nybegynder
23. oktober 2001 - 00:55 #5
paask :> _droptarget virker lidt, men for mig ser det ud som om at det er musens pointer der registreres og ikke skud (kuglen som er et movie clip)
Avatar billede paask Nybegynder
23. oktober 2001 - 00:57 #6
Det har du da vist i øvrigt ret i! Oh well, det var da en idé...
Avatar billede wilweb Nybegynder
23. oktober 2001 - 01:27 #7
gotcha :> timeren virker fint 30 point til dig
paaske :> _droptarget var en god idé 10 point til dig
Avatar billede wilweb Nybegynder
23. oktober 2001 - 01:29 #8
Jeg ved ikke om jeg kan give flere point end jeg havde sat på højkant, hvis i ikke har fået hvad der tilkommer jer må i lige råbe op!!
Avatar billede paask Nybegynder
23. oktober 2001 - 01:29 #9
Takker ;0)

Jeg er bare ked af det ikke var godt nok...
Avatar billede paask Nybegynder
23. oktober 2001 - 01:31 #10
Hehe, jeg fik ikke nogen, men det er skam også ligemeget. Ellers tak, håber bare du klarer det...
Avatar billede wilweb Nybegynder
23. oktober 2001 - 01:31 #11
paask :> Jeg prøver at arbejde på idéen og måske fører den til et eller andet!
Jeg ved ikke om jeg kan give flere point end jeg havde sat på højkant, hvis i ikke har fået hvad der tilkommer jer må i lige råbe op!!
Avatar billede paask Nybegynder
23. oktober 2001 - 01:32 #12
Få sekunder fra hinanden... god arbejdslyst :0)
Avatar billede wilweb Nybegynder
23. oktober 2001 - 01:34 #13
paask :> http://www.eksperten.dk/spm/124335 der er 10 point til dig
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