Skip to main content

@physion/app / Exports / CircleNode

Class: CircleNode

A body node representing a circle.

Hierarchy​

Constructors​

constructor​

• new CircleNode(radius?): CircleNode

Constructs a new CircleNode

Parameters​

NameTypeDefault valueDescription
radiusnumberdefaultRadiusThe radius of the CircleNode

Returns​

CircleNode

Overrides​

BodyNode.constructor

Properties​

userData​

• userData: Record<string, unknown>

Inherited from​

BodyNode.userData


EVT_CHILD_ADDED​

▪ Static Readonly EVT_CHILD_ADDED: "childAdded"

The name of the event that is emitted whenever a child is added to this node.

The argument supplied is the child that was just added to this node.

Inherited from​

BodyNode.EVT_CHILD_ADDED


EVT_CHILD_REMOVED​

▪ Static Readonly EVT_CHILD_REMOVED: "childRemoved"

The name of the event that is emitted whenever a child is removed from this node.

The argument supplied is the child that was just removed from this node.

Inherited from​

BodyNode.EVT_CHILD_REMOVED


EVT_CHILD_REORDERED​

▪ Static Readonly EVT_CHILD_REORDERED: "childReordered"

The name of the event that is emitted whenever a child of this node is reordered.

The arguments supplied are: (1) The child that was just reordered (2) the old index of the child and (3) the new index of the child.

Inherited from​

BodyNode.EVT_CHILD_REORDERED


EVT_NAME_CHANGED​

▪ Static Readonly EVT_NAME_CHANGED: "nameChanged"

The name of the event that is emitted whenever the name of this object changes.

The argument suplied is the new CoreObject.name of the object.

Inherited from​

BodyNode.EVT_NAME_CHANGED


EVT_PROPERTY_CHANGED​

▪ Static Readonly EVT_PROPERTY_CHANGED: "propertyChanged"

The name of the event that is emitted whenever a property of this object changes.

The arguments supplied are: (1) The name of the property that has changed and (2) the new value of that property.

Inherited from​

BodyNode.EVT_PROPERTY_CHANGED


EVT_TRANSFORM_CHANGED​

▪ Static Readonly EVT_TRANSFORM_CHANGED: "transformChanged"

The name of the event that is emitted whenever the x, y or angle properties of this Node are changed.

Note that this event is not emitted when x, y or angle properties are changed as a result of an update().

Inherited from​

BodyNode.EVT_TRANSFORM_CHANGED


ID_LENGTH​

▪ Static Readonly ID_LENGTH: 12

Inherited from​

BodyNode.ID_LENGTH


MAX_NAME_LENGTH​

▪ Static Readonly MAX_NAME_LENGTH: 128

Inherited from​

BodyNode.MAX_NAME_LENGTH


MIN_RADIUS​

▪ Static Readonly MIN_RADIUS: number

Accessors​

active​

• get active(): boolean

Returns true if this body is active, otherwise returns false.

An inactive body will be visualized but it won't participate in the simulation.

Returns​

boolean

Inherited from​

BodyNode.active

• set active(v): void

Sets this body's active property

Parameters​

NameType
vboolean

Returns​

void

Inherited from​

BodyNode.active


allowSleep​

• get allowSleep(): boolean

Returns true if this body is allowed to sleep, otherwise returns false.

By default, all bodies are allowed to sleep. This basically means that when a body has come to rest and it has no collisions then it will go to sleep. Setting a body to sleep reduces then number of object we have to simulated (thus increasing performance).

Returns​

boolean

Inherited from​

BodyNode.allowSleep

• set allowSleep(v): void

Sets this body's allowSleep property

Parameters​

NameType
vboolean

Returns​

void

Inherited from​

BodyNode.allowSleep


alpha​

• get alpha(): number

Node's alpha

This value is between 0 (transparent) and 1.0 (opaque). This property can be considered as the "master" opacity of the node. Defaults to 1 (fully opaque)

Returns​

number

Inherited from​

BodyNode.alpha

• set alpha(v): void

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.alpha


angle​

• get angle(): number

Returns the angle (in degrees) of this body

Returns​

number

Inherited from​

BodyNode.angle

• set angle(v): void

Sets the angle (in degrees) of this body

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.angle


angularDamping​

• get angularDamping(): number

Returns​

number

Inherited from​

BodyNode.angularDamping

• set angularDamping(v): void

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.angularDamping


angularVelocity​

• get angularVelocity(): number

Returns​

number

Inherited from​

BodyNode.angularVelocity

• set angularVelocity(v): void

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.angularVelocity


blendMode​

• get blendMode(): BLEND_MODES

Returns​

BLEND_MODES

Inherited from​

BodyNode.blendMode

• set blendMode(v): void

Parameters​

NameType
vBLEND_MODES

Returns​

void

Inherited from​

BodyNode.blendMode


body​

• get body(): undefined | b2Body

Returns​

undefined | b2Body

Inherited from​

BodyNode.body


bodyType​

• get bodyType(): BodyType

Returns the body type of this body.

Returns​

BodyType

Inherited from​

BodyNode.bodyType

• set bodyType(v): void

Sets this body's bodyType property

Parameters​

NameType
vBodyType

Returns​

void

Inherited from​

BodyNode.bodyType


bullet​

• get bullet(): boolean

Returns true if this body is a bullet, otherwise returns false.

This property only affects dynamic bodies. If a dynamic body is set to be a bullet then continuous collision detection (CCD) will be used and scenarios where a fast moving object tunels through other bodies are avoided. Note that bullets are more computational expensive.

Returns​

boolean

Inherited from​

BodyNode.bullet

• set bullet(v): void

Sets this body's bullet property

Parameters​

NameType
vboolean

Returns​

void

Inherited from​

BodyNode.bullet


childCount​

• get childCount(): number

Returns the number of children this node contains.

Returns​

number

Inherited from​

BodyNode.childCount


children​

• get children(): Node[]

Returns the children of this node.

Returns​

Node[]

Inherited from​

BodyNode.children


density​

• get density(): number

Returns​

number

Inherited from​

BodyNode.density

• set density(v): void

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.density


drawLine​

• get drawLine(): boolean

Returns​

boolean

• set drawLine(v): void

Parameters​

NameType
vboolean

Returns​

void


fillAlpha​

• get fillAlpha(): number

Returns​

number

Inherited from​

BodyNode.fillAlpha

• set fillAlpha(v): void

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.fillAlpha


fillColor​

• get fillColor(): number

Returns​

number

Inherited from​

BodyNode.fillColor

• set fillColor(v): void

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.fillColor


fillMatrix​

• get fillMatrix(): IMatrix

Returns​

IMatrix

Inherited from​

BodyNode.fillMatrix

• set fillMatrix(v): void

Parameters​

NameType
vIMatrix

Returns​

void

Inherited from​

BodyNode.fillMatrix


fillStyle​

• get fillStyle(): FillStyle

Returns​

FillStyle

Inherited from​

BodyNode.fillStyle


fillTexture​

• get fillTexture(): string

Returns​

string

Inherited from​

BodyNode.fillTexture

• set fillTexture(v): void

Parameters​

NameType
vstring

Returns​

void

Inherited from​

BodyNode.fillTexture


filterCategoryBits​

• get filterCategoryBits(): number

Returns​

number

Inherited from​

BodyNode.filterCategoryBits

• set filterCategoryBits(v): void

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.filterCategoryBits


filterGroupIndex​

• get filterGroupIndex(): number

Returns​

number

Inherited from​

BodyNode.filterGroupIndex

• set filterGroupIndex(v): void

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.filterGroupIndex


filterMaskBits​

• get filterMaskBits(): number

Returns​

number

Inherited from​

BodyNode.filterMaskBits

• set filterMaskBits(v): void

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.filterMaskBits


fixedRotation​

• get fixedRotation(): boolean

Returns true if this body has fixed rotation, otherwise returns false.

When a body has fixed rotation then it will maintain its original rotation.

Returns​

boolean

Inherited from​

BodyNode.fixedRotation

• set fixedRotation(v): void

Sets this body's fixedRotation property

Parameters​

NameType
vboolean

Returns​

void

Inherited from​

BodyNode.fixedRotation


fixtures​

• get fixtures(): b2Fixture[]

Returns​

b2Fixture[]

Inherited from​

BodyNode.fixtures


flags​

• get flags(): CoreObjectFlags

Returns​

CoreObjectFlags

Inherited from​

BodyNode.flags


fontSize​

• get fontSize(): number

Returns​

number

• set fontSize(v): void

Parameters​

NameType
vnumber

Returns​

void


freeBodyDiagram​

• get freeBodyDiagram(): IFreeBodyDiagram

The forces drawn on top of this body, keyed by types.ForceKey. See FreeBodyDiagramMixin.

Returns​

IFreeBodyDiagram

Inherited from​

BodyNode.freeBodyDiagram

• set freeBodyDiagram(v): void

Parameters​

NameType
vIFreeBodyDiagram

Returns​

void

Inherited from​

BodyNode.freeBodyDiagram


friction​

• get friction(): number

Returns​

number

Inherited from​

BodyNode.friction

• set friction(v): void

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.friction


graphics​

• get graphics(): Graphics

Returns​

Graphics

Inherited from​

BodyNode.graphics


gravityScale​

• get gravityScale(): number

Returns​

number

Inherited from​

BodyNode.gravityScale

• set gravityScale(v): void

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.gravityScale


id​

• get id(): string

Object's (unique) id

Note that the id of the object cannot be set (it is automatically assigned upon construction)

Returns​

string

Inherited from​

BodyNode.id


lineAlignment​

• get lineAlignment(): number

Returns​

number

Inherited from​

BodyNode.lineAlignment

• set lineAlignment(v): void

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.lineAlignment


lineAlpha​

• get lineAlpha(): number

The line alpha used when drawing the graphics.

Returns​

number

Inherited from​

BodyNode.lineAlpha

• set lineAlpha(v): void

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.lineAlpha


lineColor​

• get lineColor(): number

The line color used when drawing the graphics.

Returns​

number

Inherited from​

BodyNode.lineColor

• set lineColor(v): void

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.lineColor


lineNative​

• get lineNative(): boolean

Returns​

boolean

Inherited from​

BodyNode.lineNative

• set lineNative(v): void

Parameters​

NameType
vboolean

Returns​

void

Inherited from​

BodyNode.lineNative


lineStyle​

• get lineStyle(): LineStyle

Returns​

LineStyle

Inherited from​

BodyNode.lineStyle


lineWidth​

• get lineWidth(): number

The line width used when drawing the graphics.

Returns​

number

Inherited from​

BodyNode.lineWidth

• set lineWidth(v): void

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.lineWidth


linearDamping​

• get linearDamping(): number

Returns​

number

Inherited from​

BodyNode.linearDamping

• set linearDamping(v): void

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.linearDamping


linearVelocity​

• get linearVelocity(): number

Returns​

number

Inherited from​

BodyNode.linearVelocity


linearVelocityX​

• get linearVelocityX(): number

Returns​

number

Inherited from​

BodyNode.linearVelocityX

• set linearVelocityX(v): void

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.linearVelocityX


linearVelocityY​

• get linearVelocityY(): number

Returns​

number

Inherited from​

BodyNode.linearVelocityY

• set linearVelocityY(v): void

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.linearVelocityY


mass​

• get mass(): undefined | number

Returns​

undefined | number

Inherited from​

BodyNode.mass


metaObject​

• get metaObject(): MetaObject

Returns the MetaObject that describes this class

Returns​

MetaObject

Overrides​

BodyNode.metaObject


name​

• get name(): string

The object's name

The object's name is a free text value which defaults to an empty string.

Note that when the name of the object changes, the CoreObject.EVT_NAME_CHANGED signal will be emitted.

Returns​

string

Inherited from​

BodyNode.name

• set name(v): void

Parameters​

NameType
vstring

Returns​

void

Inherited from​

BodyNode.name


parent​

• get parent(): undefined | Node

Returns the parent of this node (or undefined if this node has no parent).

Returns​

undefined | Node

Inherited from​

BodyNode.parent


radius​

• get radius(): number

Returns​

number

• set radius(v): void

Parameters​

NameType
vnumber

Returns​

void


restitution​

• get restitution(): number

Returns​

number

Inherited from​

BodyNode.restitution

• set restitution(v): void

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.restitution


scripts​

• get scripts(): IScript[]

Returns​

IScript[]

Inherited from​

BodyNode.scripts

• set scripts(v): void

Parameters​

NameType
vIScript[]

Returns​

void

Inherited from​

BodyNode.scripts


sensor​

• get sensor(): boolean

Returns​

boolean

Inherited from​

BodyNode.sensor

• set sensor(v): void

Parameters​

NameType
vboolean

Returns​

void

Inherited from​

BodyNode.sensor


text​

• get text(): string

Returns​

string

• set text(v): void

Parameters​

NameType
vstring

Returns​

void


textColor​

• get textColor(): number

Returns​

number

• set textColor(v): void

Parameters​

NameType
vnumber

Returns​

void


ttl​

• get ttl(): number

Node's time-to-live, in milliseconds.

A value of -1 (the default) means this node has no ttl and will never be automatically removed. Any other value counts down while the simulation is running; once it reaches 0 the node (and any nodes that depend on it) is removed from the Scene.

Has no effect on the Scene node itself, which never counts down or gets removed via ttl.

Returns​

number

Inherited from​

BodyNode.ttl

• set ttl(v): void

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.ttl


visualFilters​

• get visualFilters(): IVisualFilters

The visual effects drawn over this node and its children, keyed by types.VisualFilterKey. See VisualFiltersMixin.

Returns​

IVisualFilters

Inherited from​

BodyNode.visualFilters

• set visualFilters(v): void

Parameters​

NameType
vIVisualFilters

Returns​

void

Inherited from​

BodyNode.visualFilters


x​

• get x(): number

Returns the x position of this body

Returns​

number

Inherited from​

BodyNode.x

• set x(v): void

Sets the x position of this body

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.x


y​

• get y(): number

Returns the y position of this body

Returns​

number

Inherited from​

BodyNode.y

• set y(v): void

Sets the y position of this body

Parameters​

NameType
vnumber

Returns​

void

Inherited from​

BodyNode.y

Methods​

addChild​

▸ addChild(child): boolean

Adds the given child to this node.

If the given child is already contained in this node or it already has a Node.parent then this method will fail (false will be returned).

Otherwise the child will be added to this node and the Node.EVT_CHILD_ADDED signal will be emitted.

Parameters​

NameTypeDescription
childNodeThe child to be added to this node.

Returns​

boolean

True on success otherwise false.

Inherited from​

BodyNode.addChild


addChildren​

▸ addChildren(children): void

Convenience method for adding multiple children to this node.

Parameters​

NameType
childrenNode[]

Returns​

void

Inherited from​

BodyNode.addChildren


addScript​

▸ addScript(assetId, params?): undefined | IScript

Adds a new script to this node.

Convenience wrapper around the scripts property, which validates the entry and rejects it if malformed. An entry whose asset is not available yet stays inert until it is.

Parameters​

NameTypeDescription
assetIdstringThe id of the script's TextAsset.
paramsScriptParamsInitial values for the script's editable properties.

Returns​

undefined | IScript

A copy of the added script entry, or undefined if it was rejected. Use its id with getNodeScript() or removeScript().

Inherited from​

BodyNode.addScript


applyAngularImpulse​

▸ applyAngularImpulse(impulse, wake?): void

Parameters​

NameType
impulsenumber
wake?boolean

Returns​

void

Inherited from​

BodyNode.applyAngularImpulse


applyForce​

▸ applyForce(force, point?, wake?): void

Parameters​

NameType
forceIPoint
point?IPoint
wake?boolean

Returns​

void

Inherited from​

BodyNode.applyForce


applyLinearImpulse​

▸ applyLinearImpulse(impulse, point?, wake?): void

Parameters​

NameType
impulseIPoint
point?IPoint
wake?boolean

Returns​

void

Inherited from​

BodyNode.applyLinearImpulse


autoAdjustFillTexture​

▸ autoAdjustFillTexture(): Promise<void>

Returns​

Promise<void>

Inherited from​

BodyNode.autoAdjustFillTexture


callMethodForAllNodeScripts​

▸ callMethodForAllNodeScripts<T>(methodName, ...args): void

Type parameters​

NameType
Textends NodeScriptMethodName

Parameters​

NameType
methodNameT
...argsParameters<NonNullable<INodeScriptValue[T]>>

Returns​

void

Inherited from​

BodyNode.callMethodForAllNodeScripts


canAddChild​

▸ canAddChild(child): boolean

Returns true if the given child can be added to this node

Parameters​

NameType
childNode

Returns​

boolean

Inherited from​

BodyNode.canAddChild


canRemoveChild​

▸ canRemoveChild(child): boolean

Returns true if the given child can be removed from this node

Parameters​

NameType
childNode

Returns​

boolean

Inherited from​

BodyNode.canRemoveChild


childIndex​

▸ childIndex(child): number

Returns the index of the given child (or -1 if child is not contained in thie node).

Parameters​

NameType
childNode

Returns​

number

Inherited from​

BodyNode.childIndex


clone​

▸ clone(): CircleNode

Creates and returns a clone of this node.

The clone returned will have the same property values as this node except from its CoreObject.id.

Returns​

CircleNode

A clone of this node.

Inherited from​

BodyNode.clone


containsChild​

▸ containsChild(child): boolean

Returns true if this node contains the given child

Parameters​

NameType
childNode

Returns​

boolean

Inherited from​

BodyNode.containsChild


copyFillTextureFrom​

▸ copyFillTextureFrom(source): void

Copies the source's already-resolved texture directly, instead of just the fillTexture id (which would force a fresh async reload and flash the default white fill in the meantime).

Note: this node may not be attached to a scene yet, so don't call updateFillTexture() here to "double check" - it can't find its asset without a scene and would reset us back to white. onEnterScene() re-resolves the texture once the node actually gets attached.

Parameters​

NameType
sourceGraphicsNode

Returns​

void

Inherited from​

BodyNode.copyFillTextureFrom


destroy​

▸ destroy(): void

Returns​

void

Overrides​

BodyNode.destroy


findAncestorByClassName​

▸ findAncestorByClassName(className): undefined | Node

Parameters​

NameType
classNamestring

Returns​

undefined | Node

Inherited from​

BodyNode.findAncestorByClassName


findChildById​

▸ findChildById(id): undefined | Node

Finds and returns the child with the given id.

Parameters​

NameTypeDescription
idstringThe CoreObject.id of the child to search for.

Returns​

undefined | Node

The child with the given id or undefined if no such child exists.

Inherited from​

BodyNode.findChildById


findChildByName​

▸ findChildByName(name): undefined | Node

Finds and returns the first child node with the given name.

Parameters​

NameTypeDescription
namestringThe CoreObject.name of the child to search for.

Returns​

undefined | Node

The first child with the given name or undefined if no such child exists.

Inherited from​

BodyNode.findChildByName


findDescendantById​

▸ findDescendantById(id): undefined | Node

Finds and returns the descendant with the given id.

Parameters​

NameTypeDescription
idstringThe CoreObject.id of the descendant to search for.

Returns​

undefined | Node

The descendant with the given id or undefined if no such descendant exists.

Inherited from​

BodyNode.findDescendantById


findSceneAssetById​

▸ findSceneAssetById(id): undefined | Asset

Finds and returns the asset specified by the given id. Note that the node needs to be parented to a Scene for this method to work.

Parameters​

NameTypeDescription
idstringThe id of the asset to search for.

Returns​

undefined | Asset

The matched Asset of undefined if no such asset exists in the scene.

Inherited from​

BodyNode.findSceneAssetById


findSceneAssetByName​

▸ findSceneAssetByName(name): undefined | Asset

Finds and returns the asset specified by the given name. Note that the node needs to be parented to a Scene for this method to work. Asset names are not unique, so if more than one asset shares the given name the first match is returned.

Parameters​

NameTypeDescription
namestringThe name of the asset to search for.

Returns​

undefined | Asset

The matched Asset or undefined if no such asset exists in the scene.

Inherited from​

BodyNode.findSceneAssetByName


findSceneNode​

▸ findSceneNode(): undefined | Node

Uses the Node.findAncestorByClassName to find the Scene that this node is added to. If this node has not yet been added to a scene then this method will return undefined.

Returns​

undefined | Node

Inherited from​

BodyNode.findSceneNode


fromScreen​

▸ fromScreen(position, from?, skipUpdate?): IPointData

Parameters​

NameType
positionIPoint
from?Node
skipUpdate?boolean

Returns​

IPointData

Inherited from​

BodyNode.fromScreen


getAncestors​

▸ getAncestors(): Node[]

Returns the ancestors of this node

Returns​

Node[]

Inherited from​

BodyNode.getAncestors


getAssetIds​

▸ getAssetIds(): string[]

Returns the ids of the assets that are used by this Node.

Returns​

string[]

The ids of the assets that are used by this Node.

Inherited from​

BodyNode.getAssetIds


getBoundingRect​

▸ getBoundingRect(): Rectangle

Returns the bounding rectangle of this node in local coordinates.

The default implementation returns the local bounds of the underlying PIXI container but subclasses can re-implement this method to return their custom bounding rectangle.

Returns​

Rectangle

Overrides​

BodyNode.getBoundingRect


getDependencies​

▸ getDependencies(): Node[]

Returns the nodes this node depends on. If this node is not added to a [[Scene]] then an empty array will be returned.

Returns​

Node[]

Array of nodes this node depends on.

Inherited from​

BodyNode.getDependencies


getDependencyIds​

▸ getDependencyIds(): string[]

Returns the IDs of all nodes this node depends on. Subclasses that have dependencies (e.g. JointNode) should re-implement this method and return the IDs of the nodes that they depend on. The default implementation returns an empty array.

Returns​

string[]

Array of node IDs this node depends on.

Inherited from​

BodyNode.getDependencyIds


getDependents​

▸ getDependents(): Node[]

Returns all Nodes that depend on this node. If this node is not added to a [[Scene]] then an empty array will be returned.

Returns​

Node[]

Array of Nodes that have this node as a dependency

Inherited from​

BodyNode.getDependents


getDescendants​

▸ getDescendants(reversed?): Node[]

Returns the descendants of this node.

A descendant is node that has this node as an ancestor. Consider for example the following tree of nodes:

  • NodeA
    • NodeB
      • NodeD
      • NodeE
    • NodeC

If we ask for the descendants of NodeA we'll get back: [NodeB, NodeD, NodeE, NodeC]

If reversed is set to true then this method will return the reversed descendants. For the example above, that would be: [NodeC, NodeE, NodeD, NodeB, NodeA]. Note that the first item of the reversed descendants has the highest z-index.

Parameters​

NameTypeDefault value
reversedbooleanfalse

Returns​

Node[]

A list of this node's descendants

Inherited from​

BodyNode.getDescendants


getDescendantsMap​

▸ getDescendantsMap(): Map<string, Node>

Returns a map of all descendants keyed by their IDs.

This provides efficient lookup of any descendant node by its ID without having to traverse the tree multiple times.

Returns​

Map<string, Node>

A Map where keys are node IDs and values are the corresponding Node objects

Inherited from​

BodyNode.getDescendantsMap


getExtras​

▸ getExtras(): any

Returns any extra data that this object needs to save during serialization.

In some cases an object might need to save some extra data without necessarily this extra data being part of its state (e.g. the AssetsLibrary of a Scene). In these cases subclasses can re-implement this method and return the data required.

The default implementation returns undefined meaning that no extra data needs to be saved during serialization.

Returns​

any

Inherited from​

BodyNode.getExtras


getFilteredDescendants​

▸ getFilteredDescendants<T>(cls): T[]

Returns the descendants of this node that are instances of the class cls

Type parameters​

NameType
Textends Node

Parameters​

NameType
clsConstructor<T>

Returns​

T[]

Inherited from​

BodyNode.getFilteredDescendants


getFilteredDescendantsByClassName​

▸ getFilteredDescendantsByClassName(className): Node[]

Returns the descendants of this node that are instances of the class className

Parameters​

NameType
classNamestring

Returns​

Node[]

Inherited from​

BodyNode.getFilteredDescendantsByClassName


getLinearVelocity​

▸ getLinearVelocity(): IPoint

Convenience method which returns the node's linear velocity as a x,y object

Returns​

IPoint

Inherited from​

BodyNode.getLinearVelocity


getLocalTransform​

▸ getLocalTransform(): Matrix

Returns a copy of this node's (local) transformation matrix.

Returns​

Matrix

Inherited from​

BodyNode.getLocalTransform


getNodeScript​

▸ getNodeScript(id): undefined | NodeScript

Returns the NodeScript that corresponds to the given id.

Parameters​

NameType
idstring

Returns​

undefined | NodeScript

Inherited from​

BodyNode.getNodeScript


getNodeScriptByClassName​

▸ getNodeScriptByClassName(className): undefined | NodeScript

Parameters​

NameType
classNamestring

Returns​

undefined | NodeScript

Deprecated

Use getNodeScriptsByClassName instead. Kept for backward compatibility with old scenes.

Inherited from​

BodyNode.getNodeScriptByClassName


getNodeScripts​

▸ getNodeScripts(): NodeScript[]

Returns all NodeScripts of this Node, in the order of the script entries they belong to.

An entry that has no NodeScript is left out, so the result can be shorter than scripts.

Returns​

NodeScript[]

Inherited from​

BodyNode.getNodeScripts


getNodeScriptsByClassName​

▸ getNodeScriptsByClassName(className): NodeScript[]

Returns all NodeScripts whose class name matches the given className.

Parameters​

NameType
classNamestring

Returns​

NodeScript[]

Inherited from​

BodyNode.getNodeScriptsByClassName


getPosition​

▸ getPosition(): IPoint

Convenience method which returns the node's position as a x,y object

Returns​

IPoint

Inherited from​

BodyNode.getPosition


getSceneAngle​

▸ getSceneAngle(): number

Returns the Node's angle in Scene coordinates.

Returns​

number

Inherited from​

BodyNode.getSceneAngle


getSceneBoundingRect​

▸ getSceneBoundingRect(): Rectangle

Returns​

Rectangle

Inherit Doc

mainly for performance.

Overrides​

BodyNode.getSceneBoundingRect


getScenePosition​

▸ getScenePosition(): IPoint

Returns the Node's position in Scene coordinates.

Returns​

IPoint

Inherited from​

BodyNode.getScenePosition


getScenePositionAndAngle​

▸ getScenePositionAndAngle(): Object

Returns the Node's position and angle in Scene coordinates (optimized).

Returns​

Object

NameType
anglenumber
positionIPoint

Inherited from​

BodyNode.getScenePositionAndAngle


getSceneTransform​

▸ getSceneTransform(): Matrix

Returns a copy of this node's scene transformation matrix. Use this matrix to map coordinates from this node's local coordinate system to the scene's coordinate system. To map coordinates from the scene, you must first invert the returned matrix.

Unlike getLocalTransform(), which returns only the local transformation, this function includes the node's (and any parents') position, and all the transfomation properties.

Returns​

Matrix

Inherited from​

BodyNode.getSceneTransform


getShape​

▸ getShape(): Polygon

Returns the shape of this Node in local coordinates.

Note that the returned shape might be empty.

The shape of a Node is used for many things, including boolean operations and selection.

The default implementation calls getBoundingRect() to return a simple rectangular shape, but subclasses can reimplement this function to return a more accurate shape for non-rectangular items.

Returns​

Polygon

Overrides​

BodyNode.getShape


getSnapPoints​

▸ getSnapPoints(snapMode): ISnapPoint[]

Snap Points

Parameters​

NameType
snapModenumber

Returns​

ISnapPoint[]

Overrides​

BodyNode.getSnapPoints


getState​

▸ getState(minified?): any

Returns this object's state

The object's state is an object containing key/value pairs corresponding to this object's properties. For example:

{
id: "Ssba4ch5ruok",
name: "Circle",
radius: 2,
// ...
}

To avoid including properties that are currently in their default value you can set minified = true when calling getState.

Note that read-only properties are not part of the object's state (with the exception of the id)

Parameters​

NameTypeDefault valueDescription
minifiedbooleanfalseWhether to return a minified state or not

Returns​

any

Inherited from​

BodyNode.getState


getTransformedShape​

▸ getTransformedShape(): Polygon

Returns the shape of this Node in scene coordinates.

Note that the returned shape might be empty.

Returns​

Polygon

Inherited from​

BodyNode.getTransformedShape


handleBeginContact​

▸ handleBeginContact(contact): void

Parameters​

NameType
contactb2Contact

Returns​

void

Inherited from​

BodyNode.handleBeginContact


handleEndContact​

▸ handleEndContact(contact): void

Parameters​

NameType
contactb2Contact

Returns​

void

Inherited from​

BodyNode.handleEndContact


handleHitByLaser​

▸ handleHitByLaser(laserNode, segment): void

Parameters​

NameType
laserNodeLaserNode
segmentIRaycastSegment

Returns​

void

Inherited from​

BodyNode.handleHitByLaser


handlePostSolve​

▸ handlePostSolve(contact, impulse): void

Parameters​

NameType
contactb2Contact
impulseb2ContactImpulse

Returns​

void

Inherited from​

BodyNode.handlePostSolve


hasDependencies​

▸ hasDependencies(): boolean

Returns true if this node has dependencies, otherwise returns false.

Returns​

boolean

Inherited from​

BodyNode.hasDependencies


index​

▸ index(): number

Returns the index of this Node relatively to its parent. If this Node has no parent then -1 is returned.

Returns​

number

Inherited from​

BodyNode.index


initGraphicsNode​

▸ initGraphicsNode(x, y, angle, lineStyle?, fillStyle?): void

Parameters​

NameType
xnumber
ynumber
anglenumber
lineStyle?LineStyle
fillStyle?FillStyle

Returns​

void

Inherited from​

BodyNode.initGraphicsNode


initNode​

▸ initNode(x?, y?, angle?): void

Convenience method for setting node's Node.x, Node.y and Node.angle

Parameters​

NameTypeDefault value
xnumber0
ynumber0
anglenumber0

Returns​

void

Inherited from​

BodyNode.initNode


insertChild​

▸ insertChild(child, index): boolean

Parameters​

NameType
childNode
indexnumber

Returns​

boolean

Inherited from​

BodyNode.insertChild


insertChildren​

▸ insertChildren(children, index): void

Convenience method for inserting multiple children into this node at the specified index.

Parameters​

NameType
childrenNode[]
indexnumber

Returns​

void

Inherited from​

BodyNode.insertChildren


isDestroyed​

▸ isDestroyed(): boolean

Returns true if this node has been destroyed via destroy(). A destroyed Node should not be used.

Returns​

boolean

Inherited from​

BodyNode.isDestroyed


isSelected​

▸ isSelected(): boolean

Returns true if this node is currently selected.

Returns​

boolean

Inherited from​

BodyNode.isSelected


move​

▸ move(d): void

Moves this node by the given d.x, d.y

Parameters​

NameType
dIPoint

Returns​

void

Inherited from​

BodyNode.move


removeAllChildren​

▸ removeAllChildren(): void

Convenience method which removes all children of this node

Returns​

void

Inherited from​

BodyNode.removeAllChildren


removeChild​

▸ removeChild(child): boolean

Parameters​

NameType
childNode

Returns​

boolean

Inherited from​

BodyNode.removeChild


removeChildren​

▸ removeChildren(children): void

Convenience method for removing multiple children from this node.

Parameters​

NameType
childrenNode[]

Returns​

void

Inherited from​

BodyNode.removeChildren


removeScript​

▸ removeScript(id): boolean

Removes a script from this node.

Convenience wrapper around the scripts property: it drops the matching entry and reassigns the array.

Parameters​

NameTypeDescription
idstringThe id of the script entry to remove.

Returns​

boolean

true if a script was removed, false if this node has no such script.

Inherited from​

BodyNode.removeScript


reorderChild​

▸ reorderChild(child, newIndex): boolean

Moves a child node to a different position (order) among the other children If the operation is successul then the EVT_CHILD_REORDERED signal will be emitted

Parameters​

NameTypeDescription
childNodeThe child node to be moved
newIndexnumberThe new index where the child node will be moved

Returns​

boolean

true on success otherwise false

Inherited from​

BodyNode.reorderChild


setExtras​

▸ setExtras(_x): boolean

Sets any extra data that this object needs during de-serialization.

Returns true on success, otherwise returns false.

The default implementation does nothing and returns true.

Parameters​

NameType
_xany

Returns​

boolean

Inherited from​

BodyNode.setExtras


setFlag​

▸ setFlag(flag, on?): void

Parameters​

NameTypeDefault value
flagCoreObjectFlagsundefined
onbooleantrue

Returns​

void

Inherited from​

BodyNode.setFlag


setLinearVelocity​

▸ setLinearVelocity(v): void

Convenience method for setting the node's linear velocity to the given x,y

Parameters​

NameType
vIPoint

Returns​

void

Inherited from​

BodyNode.setLinearVelocity


setPosition​

▸ setPosition(v): void

Convenience method for setting the node's position to the given x,y

Parameters​

NameType
vIPoint

Returns​

void

Inherited from​

BodyNode.setPosition


setScenePosition​

▸ setScenePosition(v): void

Sets the Node's scene position.

Parameters​

NameType
vIPoint

Returns​

void

Inherited from​

BodyNode.setScenePosition


setState​

▸ setState(state, updateId?): boolean

Sets the object's state

Parameters​

NameTypeDefault valueDescription
stateanyundefinedThe state to be set
updateIdbooleantrueWhether to also update the id property

Returns​

boolean

True on success otherwise false

Inherited from​

BodyNode.setState


testFlag​

▸ testFlag(flag): boolean

Parameters​

NameType
flagCoreObjectFlags

Returns​

boolean

Inherited from​

BodyNode.testFlag


toGlobal​

▸ toGlobal(position): Point

Parameters​

NameType
positionIPoint

Returns​

Point

Inherited from​

BodyNode.toGlobal


toLocal​

▸ toLocal(position): Point

Parameters​

NameType
positionIPoint

Returns​

Point

Inherited from​

BodyNode.toLocal


toScreen​

▸ toScreen(position, skipUpdate?): IPointData

Parameters​

NameType
positionIPoint
skipUpdate?boolean

Returns​

IPointData

Inherited from​

BodyNode.toScreen


update​

▸ update(delta): void

Updates this node.

The default update will do the following:

  • It will call the update method for all NodeScripts attached to this node
  • Advance the visual filters that animate, see VisualFiltersMixin.update
  • Call update for each child of this node.

Children are iterated over a shallow copy of _children, not the live array, since a NodeScript's update() may insert/remove siblings on this node (e.g. Breakable spawning fragments); iterating the live array would skip or double-visit siblings shifted by those mutations.

Parameters​

NameTypeDescription
deltanumberThe fixed simulation step, in milliseconds

Returns​

void

Inherited from​

BodyNode.update