Crafty is both an object, and a function for selecting entities. Its many methods and properties are discussed individually. Below is the documentation for use as a selector.

public EntitySelection Crafty( String selector)

A string representing which entities to select

public Entity Crafty( Number selector )

An entity's id

Select a set of or single entities by components or an entity's ID.

Crafty uses syntax similar to jQuery by having a selector engine to select entities by their components.

If there is more than one match, the return value is an Array-like object listing the ID numbers of each matching entity. If there is exactly one match, the entity itself is returned. If you're not sure how many matches to expect, check the number of matches via Crafty(...).length. Alternatively, use Crafty(...).each(...), which works in all cases.

Note: You can treat an entity as if it was a selection of length 1 -- it implements all the same methods.


   Crafty("Hello 2D Component")
   Crafty("Hello, 2D, Component")

The first selector will return all entities that have the component MyComponent. The second will return all entities that have Hello and 2D and Component whereas the last will return all entities that have at least one of those components (or).


Passing * will select all entities.


Passing an integer will select the entity with that ID.

To work directly with an array of entities, use the get() method on a selection. To call a function in the context of each entity, use the .each() method.

The event related methods such as bind and trigger will work on selections of entities.