
Etiquetas: complexIntersectionRectangle hitTestObject
La función hitTestObject(obj:DisplayObject) evalúa un objeto para comprobar si choca con el objeto obj. Por ejemplo, si tenemos dos objetos "Item1_mc" e "Item2_mc", podemos comprobar si chocan con:
Item1_mc.hitTestObject(Item2_mc)
Esta función, tiene el inconveniente de que comprueba los choques entre los contenedores rectangulares de los objetos. Por ejemplo:

por tanto, sin queremos comprobar las colisiones entre dos objetos no rectangulares, puede devolver valores que aparentemente no son correctos. Aquí tenemos un ejemplo en Flash:
Si queremos utilizar colisiones a nivel de pixel, podemos crear un objeto bitmapData, superponer los dos objetos en el objeto bitmapData con un filtro de color cada uno, y comprobar si hay pixels que tienen el color de la combinación de filtros utilizados. En el blog de
HitTest.complexHitTestObject(Item1_mc,Item2_mc)
Y si queremos recibir el rectángulo de colisión:
var rect:Rectangle = HitTest.complexIntersectionRectangle(Item1_mc,Item2_mc);
El resultado, sería este:
Los fuentes, y la clase HitTest de tink, tras el salto.

Etiquetas: PNGEncoder Base64 BitmapData Rectangle encodeByteArray

Etiquetas: Foam useMouseDragger solverIterations addGlobalForceGenerator RigidBody addElement INFINITE_MASS createRectangle

Etiquetas: APEngine addForce addGroup collideInternal RectangleParticle CircleParticle WheelParticle SpringConstraint addParticle addConstraint angularVelocity

Etiquetas: RectangleParticle addParticle CircleParticle step paint APEngine