AGK for Pascal
TAgkPhysics.SpriteRayCastCategory Method (Cardinal, TAgkPoint, TAgkPoint)

Casts a ray through all sprites that have a shape (including physics sprites) and stores the result of any intersection.

class function SpriteRayCastCategory(const Categories: Cardinal; const P1: TAgkPoint; const P2: TAgkPoint): Boolean; overload; static;
const Categories: Cardinal 
The categories to check for intersection with the ray, bitwise field using the lower most 16 bits. 
const P1: TAgkPoint 
The start point in world coordinates. 
const P2: TAgkPoint 
The end point in world coordinates. 

True if there was a collision, False if not.

Results of a ray cast can be retrieved using the other ray cast functions and properties such as RayCastNormal. Physics sprites will only use the main shape assigned to the sprite using TAgkSprite.Shape. To check compound shapes use RayCastCategory

If the ray starts inside a shape that shape will not be counted in the results. 

Sprites must be assigned a shape using one of the sprite shape commands or it will not be included in the collision results. This function is slower than the physics ray casts as it cannot make use of optimized structures that represent where the sprites are in the world relative to the ray. 

This function filters the sprites that are checked so only sprites of certain categories are checked. The category parameter is a bitwise field that uses the lower 16 bits to represent each of the possible 16 categories used when setting up a sprite. The default value of all 1s means all categories will be included, whereas a value of all 0s means no categories will be included. You can set individual bits to set which ones should be checked.

Copyright (c) 2012. All rights reserved.