Packagesekati.collisions
Classpublic class CollisionDetector
InheritanceCollisionDetector Inheritance AbstractCollisionDetector Inheritance flash.events.EventDispatcher

CollisionDetector provides collision detection to a single target display object against all other display objects registered with the detector (one to many).


Example
  var detector : CollisionDetector = new CollisionDetector( target, A, B, C );
  
Would detect: ... however the it would not detect A colliding with B.

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

sekati.collisions.Collision
sekati.collisions.CollisionAngle
sekati.collisions.AbstractCollisionDetector
sekati.collisions.CollisionDetector
sekati.collisions.GroupCollisionDetector
sekati.events.CollisionEvent


Public Properties
 PropertyDefined by
 InheritedalphaThreshold : Number
A floating point value from 0 - 1 that determines the minimum alpha value to check for collisions.
AbstractCollisionDetector
 InheritedisMonitoring : Boolean
Whether the frame-base collision monitor is running.
AbstractCollisionDetector
 InheritednumChildren : uint
The number of DisplayObjects being checked for collision.
AbstractCollisionDetector
 InheritedreturnAngleType : String
Determines if the angle returned from a collision is in CollisionAngle.RADIAN or CollisionAngle.DEGREE_ANGLE_TYPE (Default: CollisionAngle.NONE).
AbstractCollisionDetector
Protected Properties
 PropertyDefined by
 InheritedobjectArray : TypedArray
AbstractCollisionDetector
 InheritedobjectCheckArray : TypedArray
AbstractCollisionDetector
 InheritedobjectCollisionArray : TypedArray
AbstractCollisionDetector
Public Methods
 MethodDefined by
  
CollisionDetector(target:DisplayObject, ... objs)
CollisionDetector Constructor
CollisionDetector
 Inherited
addItem(obj:DisplayObject):void
Add a DisplayObject to the list of objects to check for collisions.
AbstractCollisionDetector
  
Check for collisions with the target, if an object collided it is recorded and returned by checkCollisions() as an TypedArray of Collision objects.
CollisionDetector
 Inherited
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
 Inherited
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.
CollisionDetector
 Inherited
startMonitor():void
Start frame-based automatic collision monitoring.
AbstractCollisionDetector
 Inherited
stopMonitor():void
Stop frame-based automatic collision monitoring.
AbstractCollisionDetector
  
swapTarget(target:DisplayObject):void
Replaces the target DisplayObject with the DisplayObject specified.
CollisionDetector
Protected Methods
 MethodDefined by
 Inherited
clearArrays():void
Clear the objectCheckArray and objectCollisionArray.
AbstractCollisionDetector
 Inherited
monitor(e:Event):void
Frame-based collision monitoring dispatches CollisionEvent's when one or more collisions are detected.
AbstractCollisionDetector
Constructor detail
CollisionDetector()constructor
public function CollisionDetector(target:DisplayObject, ... objs)

CollisionDetector Constructor

Parameters
target:DisplayObject — object to detect collisions upon.
 
... objs — which the target may collide with.
Method detail
checkCollisions()method
public override function checkCollisions():TypedArray

Check for collisions with the target, if an object collided it is recorded and returned by checkCollisions() as an TypedArray of Collision objects.

Returns
TypedArray
removeItem()method 
public override function removeItem(obj:DisplayObject):void

Remove a DisplayObject from the list of objects to check for collisions.

Parameters
obj:DisplayObject
swapTarget()method 
public function swapTarget(target:DisplayObject):void

Replaces the target DisplayObject with the DisplayObject specified.

Parameters
target:DisplayObject