[Flash] hitTest probleempje

Pagina: 1
Acties:

  • Bandicoot
  • Registratie: Juni 2001
  • Laatst online: 21-08 22:38
We zijn met school met een project bezig waarin we een klein racespelletje moeten maken en ik heb het volgende probleem:

Het (ronde) autotje moet botsen met de zijkant van de track, hiervoor heb ik de volgende code gebruikt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
function somethingHit () {

xco=(getProperty(_root.speler1, _x));
yco=(getProperty(_root.speler1, _y));


    for ( teller=0; teller<20; teller++ ) {
        if ( _root["blok"+teller].hitTest(xco, yco, true)) {
            return true;
        }
    }

    return false;

Alleen botst nu het midden van het autotje tegen de rand aan ipv de rand van het autotje. Ik wil dus een circel met een straal van 15 rond het middenpunt laten botsen ipv het middenpunt zelf. Heeft iemand een idee hoe ik dit zou kunnen doen?

PVOutput: VO18


  • Rigi
  • Registratie: September 2001
  • Laatst online: 30-11-2018
Ik neem zo aan dat dit in Java is??

  • Bandicoot
  • Registratie: Juni 2001
  • Laatst online: 21-08 22:38
Sorry, vergeten erbij te zetten, is ActionScript in Flash 5

PVOutput: VO18


Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
function somethingHit () {

          for ( teller=0; teller<20; teller++ ) {
        if ( _root["blok"+teller].hitTest(_root.speler1)) {
            return true;
        }
    }

    return false;
}

Ik denk dat je daarmee al een stuk opschiet ;)

  • Willem
  • Registratie: Februari 2001
  • Nu online
topictitle fixed :)

Motor (of auto) onderhoud bijhouden


  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

Verwijderd schreef op 03 April 2003 @ 15:21:
code:
1
2
3
4
5
6
7
8
9
10
function somethingHit () {

          for ( teller=0; teller<20; teller++ ) {
        if ( _root["blok"+teller].hitTest(_root.speler1)) {
            return true;
        }
    }

    return false;
}

Ik denk dat je daarmee al een stuk opschiet ;)
ehhh, hij wilt een hittest op een rond object doen. De manier die jij doet beschouwt je rondje als een vierkant.

Huur mij in als freelance SEO consultant!


Verwijderd

Hmmm dat klopt ja... 8)7
Maak nu in _root.speler1 een nieuwe mc aan waarvan je de alpha op 0% zet.
Daarin teken je een cirkel van 15.

vervang _root.speler1 door _root.speler1.cirkel
waarbij cirkel natuurlijk de instancename van je nieuwe mc is. ;)
Dan zou het wel moeten werken

  • Bandicoot
  • Registratie: Juni 2001
  • Laatst online: 21-08 22:38
Ok, thnx, ga ik morgen op school maar es proberen dan

PVOutput: VO18


  • Bandicoot
  • Registratie: Juni 2001
  • Laatst online: 21-08 22:38
Eeuh, nog es even lopen denken, maar dat geeft natuurlijk hetzelfde probleem als al eerder genoemd werd. Dan botst ie op het vierkant waarin de cirkel getekend is en niet op de cirkel zelf, of heb ik dat mis?

PVOutput: VO18


Verwijderd

Rigi schreef op 03 April 2003 @ 14:39:
Ik neem zo aan dat dit in Java is??
Hoe heet deze topic ook alweer?

..::[Flash] hitTest probleempje::..

no offence ((:)))

  • Schmoove
  • Registratie: Juli 2001
  • Laatst online: 20-08 11:58
Verwijderd schreef op 04 april 2003 @ 10:59:
[...]


Hoe heet deze topic ook alweer?

..::[Flash] hitTest probleempje::..

no offence ((:)))
No offence, maar als je een beetje opgelet had, dan had je gezien dat de topic verander is :)
Het was initieel niet duidelijk welke taal de topicstarter gebruikte.

Verwijderd

Ben ff een fla voor je aan het maken :)
Ik loop idd tegen wat problemen aan, maar die fla krijg je ;)

  • Cubix
  • Registratie: Juni 2001
  • Niet online
Ik heb ook ooit een spel gemaakt in Flash (http://members.chello.nl/m.dewachter/informatica/)en ik had hetzelfde probleem.

Als ik het hele voertuigje als object liet hittesten raakte ik al vaak eerder de kant dan nodig. Dat komt omdat Flash een rechthoekig kader trekt om het voertuigje heen. Dus als het voertuigje diagonaal stond had het een enorm raakvlak.

Dit heb ik opgelost door op elke hoek van het voertuigje een klein hitpoint objectje te plaatsen. Alle 4 worden steeds getest.
Pagina: 1