/ Forside/ Teknologi / Multimedie & design / Flash / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Flash
#NavnPoint
bentjuul 4251
molokyle 1978
Klaudi 1488
jhvp 1265
pallenoc 1160
katekismus 1020
Fnollerpi.. 790
slander 510
Dr.Disco 500
10  Flash77 500
hitTest problemer
Fra : cumano
Vist : 832 gange
100 point
Dato : 08-08-02 21:25

Jeg har prøvet at lave et lille "dartspil", hvor der bliver givet point ved hjælp af hitTest.
problemet er at de felter der giver point er runde, og når man i Flash har lavet noget til movieclip bliver det markeret med en firkant.
det betyder at hvis man f.eks. rammer uden for skiven, men inden for flash's markering så giver det alligevel point...
Er der nogen måde at fortælle flash at der IKKE skal hitTestes der hvor der ikke er "dartskive".

håber at nogen kan hjælpe....

mvh Andreas Schmidt Jensen

 
 
Accepteret svar
Fra : ockley

Modtaget 100 point
Dato : 14-08-02 15:28

Hej Andreas.

Det er et kendt problem at hitTest kun arbejder med bounding boxes. Dette er måske en løsning på problemet, hvis du accepterer at det er spidsen på darten der skal testes. OK - jeg ser om jeg kan forklare det:

Du har et MC med pointfeltet som kaldes "felt".
Du har et MC af dartpilen som kaldes "dart".
Dartpilens spids skal være over referencepunktet selve klippet (krydset i midten)

Sørg for at dartpilen kan flyttes og kastes osv.

I dit MC kaldet "felt" skriver du følgende:

onClipEvent (enterFrame) {
   if(this.hitTest(_root.dart._x, _root.dart._y, true)){
      //spidsen har ramt pixels
   } else {
      //spidsen har ikke ramt pixels
   }
}

Du kan tilføje ekstra betingelser i din if-linie for at tjekke om pilen er kastet. Noget i stil med

if(this.hitTest(_root.dart._x, _root.dart._y, true) && _root.kastet = "yes")

Jeg har ikke lige overskuet eventuelle hastighedsproblemer med alle de hitTests... Meeen den tid den sorg

Håber det hjælper dig

Med venlig hilsen
Karsten Vestergaard
www.ockley.dk



Kommentar
Fra : Nyhedsbruger


Dato : 16-08-02 08:38

Hmmm lyder da underligt jeg bruger da hitTest på runde knapper ! Er du
sikker på koden n??

if(this.hitTest(_xmouse,_ymouse,true)){
this.gotoAndPlay(3);
}

???

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Kommentar
Fra : Nyhedsbruger


Dato : 16-08-02 09:15

On 16/08/02 9:37, in article ajia3t$2s8$1@sunsite.dk, "Docks"
<cds@keepinmind.dk> wrote:

> if(this.hitTest(_xmouse,_ymouse,true)){
> this.gotoAndPlay(3);
> }

parameteren "true" er shape-flag, dvs. det der sørger for at testen er på
figurens form frem for på figurens bounding box. Så det er nok det, der
mangler.

Med venlig hilsen
Poul Skovmand Thingholm


Kommentar
Fra : ockley


Dato : 21-08-02 10:57

Hej alle,

jeg skrev ikke _xmouse, jeg skrev

if(this.hitTest(_root.dart._x, _root.dart._y, true)){

Dette vil tjekke om MovieClippet "Dart" rammer med sit referencepunkt. Det er derfor ikke en generel løsning, men i dette tilfælde kan den nok gå an

Med venlig hilsen
Karsten Vestergaard
www.ockley.dk

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste