GameObjRaw
:Base interface of all game objects.
since
v2000.0
group
Game Obj
add
(comps?: CompList): GameObjAdd a child.
param
comps- The components to add.
returns
The added game object.
since
v3000.0
readd
(obj: GameObj<T>): GameObj<T>Remove and re-add the game obj, without triggering add / destroy events.
param
obj- The game object to re-add.
returns
The re-added game object.
since
v3000.0
remove
(obj: GameObj): voidRemove a child.
param
obj- The game object to remove.
since
v3000.0
removeAll
(tag: Tag): voidRemove all children with a certain tag.
param
tag- The tag to remove.
since
v3000.0
removeAll
(): voidRemove all children.
since
v3000.0
get
(tag: Tag | Tag[], opts?: GetOpt): GameObj[]Get a list of all game objs with certain tag.
param
tag- The tag to get.
since
v3000.0
query
(opt: QueryOpt): GameObj[]Get a list of all game objs with certain properties.
param
opt- The properties to get.
since
v3001.0
children
: GameObj[]readonly
Get all children game objects.
since
v3000.0
fixedUpdate
(): voidUpdate this game object and all children game objects.
since
v3001.0
update
(): voidUpdate this game object and all children game objects.
since
v3000.0
draw
(): voidDraw this game object and all children game objects.
since
v3000.0
drawInspect
: () => voidDraw debug info in inspect mode
since
v3000.0
clearEvents
: () => voiduse
(comp: Comp | Tag): voidAdd a component.
const obj = add([
sprite("bean"),
]);
// Add opacity
obj.use(opacity(0.5));
since
v2000.0
unuse
(comp: Tag): voidRemove a component with its id (the component name)
param
comp- The component id to remove. It means the name, if sprite, then it's "sprite".
// Remove sprite component
obj.unuse("sprite");
since
v2000.0
has
(compId: string | string[], op?: "and" | "or"): booleanCheck if game object has a certain component.
param
compId- The component id(s) to check.
param
op- The operator to use when searching for multiple components. Default is "and".
// Check if game object has sprite component
if(obj.has("sprite")) {
debug.log("has sprite component");
}
// Check if game object has tags
obj.has(["tag1", "tag2"]); // AND, it has both tags
obj.has(["tag1", "tag2"], "or"); // OR, it has either tag1 or tag2
returns
true if has the component(s), false otherwise.
since
v3001.0.5
experimental
This feature is in experimental phase, it will be fully released in v4000.0
tag
(tag: Tag | Tag[]): voidAdd a tag(s) to the game obj.
param
tag- The tag(s) to add.
// add enemy tag
obj.tag("enemy");
// add multiple tags
obj.tag(["enemy", "boss"]);
since
v3001.0.5
experimental
This feature is in experimental phase, it will be fully released in v4000.0
untag
(tag: Tag | Tag[]): voidRemove a tag(s) from the game obj.
param
tag- The tag(s) to remove.
// remove enemy tag
obj.untag("enemy");
// remove multiple tags
obj.untag(["enemy", "boss"]);
since
v3001.0.5
experimental
This feature is in experimental phase, it will be fully released in v4000.0
is
(tag: Tag | Tag[], op?: "and" | "or"): booleanIf there's certain tag(s) on the game obj.
param
tag- The tag(s) for checking.
param
op- The operator to use when searching for multiple tags. Default is "and".
since
v3001.0.5
experimental
This feature is in experimental phase, it will be fully released in v4000.0
on
(event: GameObjEventNames | ( string & {}), action: (args: any) => void): KEventControllerRegister an event.
param
event- The event name.
param
action- The action to run when event is triggered.
returns
The event controller.
since
v2000.0
trigger
(event: string, args: any): voidTrigger an event.
param
event- The event name.
parm
args - The arguments to pass to the event action.
since
v2000.0
destroy
(): voidRemove the game obj from scene.
since
v2000.0
c
(id: string): Comp | nullGet state for a specific comp.
param
id- The component id.
since
v2000.0
inspect
(): GameObjInspectGather debug info of all comps.
since
v2000.0
onAdd
(action: () => void): KEventControllerRegister an event that runs when the game obj is added to the scene.
returns
The event controller.
since
v2000.0
onUpdate
(action: () => void): KEventControllerRegister an event that runs every frame as long as the game obj exists.
returns
The event controller.
since
v2000.1
onFixedUpdate
(action: () => void): KEventControllerRegister an event that runs every frame as long as the game obj exists.
returns
The event controller.
since
v2000.1
onDraw
(action: () => void): KEventControllerRegister an event that runs every frame as long as the game obj exists (this is the same as onUpdate()
, but all draw events are run after all update events).
returns
The event controller.
since
v2000.1
onDestroy
(action: () => void): KEventControllerRegister an event that runs when the game obj is destroyed.
returns
The event controller.
since
v2000.1
onUse
(action: (id: string) => void): KEventControllerRegister an event that runs when a component is used.
returns
The event controller.
since
v3001.0
onUnuse
(action: (id: string) => void): KEventControllerRegister an event that runs when a component is unused.
returns
The event controller.
since
v3001.0
onTag
(action: (tag: string) => void): KEventControllerRegister an event that runs when a tag is added.
returns
The event controller.
since
v3001.10
experimental
onUntag
(action: (tag: string) => void): KEventControllerRegister an event that runs when a tag is removed.
returns
The event controller.
since
v3001.10
experimental
exists
(): booleanIf game obj is attached to the scene graph.
returns
true if attached, false otherwise.
since
v2000.0
isAncestorOf
(obj: GameObj): booleanCheck if is an ancestor (recursive parent) of another game object
returns
true if is ancestor, false otherwise.
since
v3000.0
transform
: Mat4Calculated transform matrix of a game object.
since
v3000.0
paused
: booleanIf update the game obj (run "update" event or not).
since
v2000.0
canvas
: FrameBuffer | nullThe canvas to draw this game object on
since
v3001.0