Show:
Module: p5.play
Parent Module: p5.play

In p5.play groups are collections of sprites with similar behavior. For example a group may contain all the sprites in the background or all the sprites that "kill" the player.

Groups are "extended" arrays and inherit all their properties e.g. group.length

Since groups contain only references, a sprite can be in multiple groups and deleting a group doesn't affect the sprites themselves.

Sprite.remove() will also remove the sprite from all the groups it belongs to.

Constructor

Group ()

Defined in lib/p5.play.js:3396

Methods

_groupCollide
(
  • type
  • target
  • callback
)
Boolean
private

Defined in lib/p5.play.js:3606

Collide each member of group against the target using the given collision type. Return true if any collision occurred. Internal use

Parameters:

  • type !string

    one of 'overlap', 'collide', 'displace', 'bounce' or 'bounceOff'

  • target Object

    Group or Sprite

  • [callback] Function optional

    on collision.

Returns:

Boolean:

True if any collision/overlap occurred

add
(
  • s
)

Defined in lib/p5.play.js:3452

Adds a sprite to the group.

Parameters:

  • s Sprite

    The sprite to be added

bounce
(
  • target
  • callback
)
Boolean

Defined in lib/p5.play.js:3721

Checks if the the group is overlapping another group or sprite. If the overlap is positive the sprites will bounce affecting each other's trajectories depending on their .velocity, .mass and .restitution.

The check is performed using the colliders. If colliders are not set they will be created automatically from the image/animation bounding box.

A callback function can be specified to perform additional operations when the overlap occours. The function will be called for each single sprite overlapping. The parameter of the function are respectively the member of the current group and the other sprite passed as parameter.

Parameters:

  • target Object

    Group or Sprite to check against the current one

  • [callback] Function optional

    The function to be called if overlap is positive

Returns:

Boolean:

True if overlapping

Example:

group.bounce(otherSprite, explosion);

function explosion(spriteA, spriteB) {
  spriteA.remove();
  spriteB.score++;
}
bounceOff
(
  • target
  • callback
)
Boolean

Defined in lib/p5.play.js:3750

Checks if the the group is overlapping another group or sprite. If the overlap is positive the sprites will bounce with the target(s) treated as immovable.

The check is performed using the colliders. If colliders are not set they will be created automatically from the image/animation bounding box.

A callback function can be specified to perform additional operations when the overlap occours. The function will be called for each single sprite overlapping. The parameter of the function are respectively the member of the current group and the other sprite passed as parameter.

Parameters:

  • target Object

    Group or Sprite to check against the current one

  • [callback] Function optional

    The function to be called if overlap is positive

Returns:

Boolean:

True if overlapping

Example:

group.bounceOff(otherSprite, explosion);

function explosion(spriteA, spriteB) {
  spriteA.remove();
  spriteB.score++;
}
clear ()

Defined in lib/p5.play.js:3489

Removes all references to the group. Does not remove the actual sprites.

collide
(
  • target
  • callback
)
Boolean

Defined in lib/p5.play.js:3663

Checks if the the group is overlapping another group or sprite. If the overlap is positive the sprites will bounce with the target(s) treated as immovable with a restitution coefficient of zero.

The check is performed using the colliders. If colliders are not set they will be created automatically from the image/animation bounding box.

A callback function can be specified to perform additional operations when the overlap occours. The function will be called for each single sprite overlapping. The parameter of the function are respectively the member of the current group and the other sprite passed as parameter.

Parameters:

  • target Object

    Group or Sprite to check against the current one

  • [callback] Function optional

    The function to be called if overlap is positive

Returns:

Boolean:

True if overlapping

Example:

group.collide(otherSprite, explosion);

function explosion(spriteA, spriteB) {
  spriteA.remove();
  spriteB.score++;
}
contains
(
  • sprite
)
Number

Defined in lib/p5.play.js:3428

Checks if the group contains a sprite.

Parameters:

  • sprite Sprite

    The sprite to search

Returns:

Number:

Index or -1 if not found

createEdgeSprites () Group

Defined in lib/p5.play.js:3823

Creates four edge sprites and adds them to a group. Each edge is just outside of the canvas and has a thickness of 100. After calling this function, the following properties are exposed and populated with sprites: leftEdge, rightEdge, topEdge, bottomEdge

The 'edges' property is populated with a group containing those four sprites.

If this edge sprites have already been created, the function returns the existing edges group immediately.

Returns:

Group:

The edges group

displace
(
  • target
  • callback
)
Boolean

Defined in lib/p5.play.js:3692

Checks if the the group is overlapping another group or sprite. If the overlap is positive the sprites in the group will displace the colliding ones to the closest non-overlapping positions.

The check is performed using the colliders. If colliders are not set they will be created automatically from the image/animation bounding box.

A callback function can be specified to perform additional operations when the overlap occurs. The function will be called for each single sprite overlapping. The parameter of the function are respectively the member of the current group and the other sprite passed as parameter.

Parameters:

  • target Object

    Group or Sprite to check against the current one

  • [callback] Function optional

    The function to be called if overlap is positive

Returns:

Boolean:

True if overlapping

Example:

group.displace(otherSprite, explosion);

function explosion(spriteA, spriteB) {
  spriteA.remove();
  spriteB.score++;
}
draw ()

Defined in lib/p5.play.js:3571

Draws all the sprites in the group.

get
(
  • i
)

Defined in lib/p5.play.js:3418

Gets the member at index i.

Parameters:

  • i Number

    The index of the object to retrieve

indexOf ()

Defined in lib/p5.play.js:3439

Same as Group.contains

isTouching
(
  • target
)
Boolean

Defined in lib/p5.play.js:3651

Alias for overlap()

Returns whether or not this group will bounce or collide with another sprite or group. Modifies the each sprite's touching property object.

Parameters:

  • target Object

    Group or Sprite to check against the current one

Returns:

Boolean:

True if touching

maxDepth () Number

Defined in lib/p5.play.js:3539

Returns the highest depth in a group

Returns:

Number:

The depth of the sprite drawn on the top

minDepth () Number

Defined in lib/p5.play.js:3555

Returns the lowest depth in a group

Returns:

Number:

The depth of the sprite drawn on the bottom

overlap
(
  • target
  • callback
)
Boolean

Defined in lib/p5.play.js:3625

Checks if the the group is overlapping another group or sprite. The check is performed using the colliders. If colliders are not set they will be created automatically from the image/animation bounding box.

A callback function can be specified to perform additional operations when the overlap occurs. The function will be called for each single sprite overlapping. The parameter of the function are respectively the member of the current group and the other sprite passed as parameter.

Parameters:

  • target Object

    Group or Sprite to check against the current one

  • [callback] Function optional

    The function to be called if overlap is positive

Returns:

Boolean:

True if overlapping

Example:

group.overlap(otherSprite, explosion);

function explosion(spriteA, spriteB) {
  spriteA.remove();
  spriteB.score++;
}
remove
(
  • item
)
Boolean

Defined in lib/p5.play.js:3499

Removes a sprite from the group. Does not remove the actual sprite, only the affiliation (reference).

Parameters:

  • item Sprite

    The sprite to be removed

Returns:

Boolean:

True if sprite was found and removed

removeSprites ()

Defined in lib/p5.play.js:3477

Removes all the sprites in the group from the scene.

size ()

Defined in lib/p5.play.js:3469

Same as group.length

toArray ()

Defined in lib/p5.play.js:3531

Returns a copy of the group as standard array.