Skip to content

Comp

Defined in: packages/threeplay/src/core/types.ts:55

A component is a plain object. Its fields and methods are merged into the game object; the lifecycle hooks are called with this bound to the object.

function spin(speed = 90) {
return {
id: "spin",
require: ["rotate"],
speed,
update() { this.rot.y += this.speed * dt(); },
};
}

optional add(this): void

Defined in: packages/threeplay/src/core/types.ts:63

Called when the object enters the scene (or when used on a live object).

GameObj

void


optional destroy(this): void

Defined in: packages/threeplay/src/core/types.ts:69

Called when the object is destroyed or the component removed.

GameObj

void


optional fixedUpdate(this): void

Defined in: packages/threeplay/src/core/types.ts:67

Called at the fixed physics rate (50 Hz by default).

GameObj

void


optional inspect(this): string | null | undefined

Defined in: packages/threeplay/src/core/types.ts:71

Short status line shown by the debug inspector.

GameObj

string | null | undefined


optional update(this): void

Defined in: packages/threeplay/src/core/types.ts:65

Called once per frame.

GameObj

void

optional conflicts?: string[]

Defined in: packages/threeplay/src/core/types.ts:61

Ids of components that can’t be on the same object (checked both ways).


optional id?: string

Defined in: packages/threeplay/src/core/types.ts:57

Unique name. Two components with the same id replace each other.


optional require?: string[]

Defined in: packages/threeplay/src/core/types.ts:59

Ids of components that must be present on the object.