[AS3] boundingbox probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • mkanon
  • Registratie: September 2002
  • Niet online

mkanon

www.kanonweb.nl

Topicstarter
Ik heb geen pixelbased of shapebased collisie nodig maar wel de herkenning van vierkante shapes in één grote MC

Ik probeer een gameelement te ontwikkellen waarbij ik tussen objecten moet navigeren met een character.

Ik heb dus een character welke ik heen en weer stuur met m'n toetsen, en een achtergrond waar vierkantjes op staan. Raak ik een vierkantje, dan wil ik TRUE terug krijgen! ik krijg het steeds wel voor elkaar maar zodra ik tussen twee vierkantjes kom krijg ik bounding boxen is is het alsnog TRUE!!

Veel voorbeelden gebruiken allerlei geometrie, maar ik moet erg veel vierkanten in mijn level kwijt dus is het bijna on werkbaar omdat met coordinaten te doen!

Wie weet hier een eenvoudige oplossing voor?

I reject your reality and substitute my own!


Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Worden die vierkanten in een soort grid-achtig iets geplaatst? Geef eens een screenshot waar je tegen die bounding boxes aan loopt :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Acties:
  • 0 Henk 'm!

  • mkanon
  • Registratie: September 2002
  • Niet online

mkanon

www.kanonweb.nl

Topicstarter
Nee, ik heb twee MC's die ik zeg maar door het beeld track

background.y++;
backgroundbox.y++;

en ik heb "char" de MC van mijn character!

In backgroundbox teken ik de vierkantjes over de background heen welke collisie moeten geven!
Dit is dus willekeurig afhankelijk waar de verschillende collisie objecten getekend zijn. Ze zijn alleen wel ALTIJD vierkant en recht.

Ik wil dus TRUE wanneer char backgroundbox raakt (althans de pixels er in)

I reject your reality and substitute my own!


Acties:
  • 0 Henk 'm!

Verwijderd

Dus je wil eigenlijk afzonderlijke bounding boxes voor elk object op de achtergrond? Dan kan je toch gewoon het volgende doen?
code:
1
2
3
4
5
6
7
8
9
var character:Sprite = new Sprite(); // je character
var backgroundElements:Array = new Array(); // array met al je elementen in

function hitTest():Boolean{
    for each(var element:Sprite in backgroundElements){
        if(character.hitTestObject(element)) return true;
    }
    return false;
}