Package | sekati.collisions |
Class | public class GroupCollisionDetector |
Inheritance | GroupCollisionDetector ![]() ![]() |
var detector : GroupCollisionDetector = new GroupCollisionDetector( A, B, C, D );
A
colliding with B
A
colliding with C
A
colliding with D
B
colliding with C
B
colliding with D
C
colliding with D
You may apply an alphaThreshold
to prevent collisions on perimeter alphas, prevent certain colors
from registering collisions with excludeColor()
or aquire the angle of the collision by setting the
returnAngleType
to one of the provided CollisionAngle
's.
detector.alphaThreshold = 0.5; // areas with an alpha >= 0.5 will create a collision. detector.excludeColor( 0xffff0000 ); // The 32-bit color to exclude from collisions. detector.returnAngleType = CollisionAngle.RADIAN; // would return the collision angle as radian in the Collision instance
You may choose to use the built-in frame-based monitoring function to check & respond to Collision
's:
private function collisionHandler( e : CollisionEvent ) : void { var list = e.collisions; // a TypedArray containing one or more Collision instances. for ( var i : int = 0; i < list.length; i++) { var collision : Collision = list[i] as Collision; trace("Collision detected: " + collision.object1 + " & " + collision.object2 + " (angle: " + collision.angle + ", overlap: " + collision.overlap + ")"); } } detector.addEventListener( CollisionEvent.COLLISION, collisionHandler ); detector.startMonitor();
See also
Method | Defined by | ||
---|---|---|---|
GroupCollisionDetector(... objs)
GroupCollisionDetector Constructor
| GroupCollisionDetector | ||
![]() |
addItem(obj:DisplayObject):void
Add a
DisplayObject to the list of objects to check for collisions. | AbstractCollisionDetector | |
Check for collisions between the
DisplayObjects , if an object collided with another it is recorded
and returned by checkCollisions() as an TypedArray of Collision objects. | GroupCollisionDetector | ||
![]() |
excludeColor(color32:uint, alphaRange:uint = 255, redRange:uint = 20, greenRange:uint = 20, blueRange:uint = 20):void
Defines a color or color range to exclude from collision detections.
| AbstractCollisionDetector | |
![]() |
removeExcludeColor(color32:uint):void
Removes the color specified from the list of colors to exclude from collision detections.
| AbstractCollisionDetector | |
![]() |
removeItem(obj:DisplayObject):void
Remove a
DisplayObject from the list of objects to check for collisions. | AbstractCollisionDetector | |
![]() |
startMonitor():void
Start frame-based automatic collision monitoring.
| AbstractCollisionDetector | |
![]() |
stopMonitor():void
Stop frame-based automatic collision monitoring.
| AbstractCollisionDetector |
GroupCollisionDetector | () | constructor |
public function GroupCollisionDetector(... objs)
GroupCollisionDetector Constructor
Parameters... objs — whoms collisions will be detected with each other.
|
checkCollisions | () | method |
public override function checkCollisions():TypedArray
Check for collisions between the DisplayObjects
, if an object collided with another it is recorded
and returned by checkCollisions()
as an TypedArray of Collision
objects.
TypedArray |