World

class World extends Container

an object representing the physic world, and responsible for managing and updating all childs and physics

Constructor


new World(x: number, y: number, width: number, height: number) → {}
Parameters:
Name Type Attributes Default Description
x number

<optional>

0

position of the container (accessible via the inherited pos.x property)

y number

<optional>

0

position of the container (accessible via the inherited pos.y property)

width number

<optional>

game.viewport.width

width of the container

height number

<optional>

game.viewport.height

height of the container

Summary


Properties inherited from Rect

number
bottom
number
centerX
number
centerY
number
height
number
left
number
right
number
top
string
type = "Rectangle"
number
width

Properties inherited from Polygon

Array<Vector2d>
points

Methods inherited from Container

Renderable
addChild(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText, z: number)
Renderable
addChildAt(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText, index: number)
forEach(callback: Function, thisArg: object)
Renderable
getChildAt(index: number)
Renderable
getChildByGUID(guid: string | RegExp | number | boolean)
Array<Renderable>
getChildByName(name: string | RegExp | number | boolean)
Array<Renderable>
getChildByProp(prop: string, value: string | RegExp | number | boolean)
Array<Renderable>
getChildByType(classType: object)
number
getChildIndex(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText)
Array<Renderable>
getChildren()
Renderable
getNextChild(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText)
Container
getRootAncestor()
boolean
hasChild(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText)
boolean
isAttachedToRoot()
moveDown(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText)
moveToBottom(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText)
moveToTop(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText)
moveUp(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText)
onChildChange(index: number)
removeChild(child: RendRenderable | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapTexterable, keepalive: boolean)
removeChildNow(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText, keepalive: boolean)
setChildsProperty(prop: string, value: object, recursive: boolean)
sort(recursive: boolean)
swapChildren(child: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText, child2: Renderable | Entity | Sprite | Collectable | Trigger | Draggable | DropTarget | NineSliceSprite | ImageLayer | ColorLayer | Light2d | UIBaseElement | UISpriteElement | UITextButton | Text | BitmapText)
Bounds
updateBounds(absolute: boolean)
protected draw(renderer: CanvasRenderer | WebGLRenderer, viewport: Camera2d)

Public Properties


app world.js:32
app: Application

Application

the application (game) this physic world belong to

bodies world.js:74
bodies: Set<Body>

Set<Body>

the active physic bodies in this simulation

broadphase world.js:80
broadphase: QuadTree

QuadTree

the instance of the game world quadtree used for broadphase (used by the builtin physic and pointer event implementation)

detector world.js:86
detector: Detector

Detector

the collision detector instance used by this world instance

fps world.js:49
fps: number = 60

number

the rate at which the game world is updated, may be greater than or lower than the display fps

See: timer.maxfps
gravity world.js:57
gravity: Vector2d = <0,0.98>

Vector2d

world gravity

physic world.js:38
physic: string = "builtin"

string

the physic engine used by melonJS

// disable builtin physic
me.game.world.physic = "none";
See: Application.Settings.physic
preRender world.js:64
preRender: boolean = false

boolean

Enabled pre-rendering for all tile layers.
If false layers are rendered dynamically, if true layers are first fully rendered into an offscreen canvas.
the "best" rendering method depends of your game (amount of layer, layer size, amount of tiles per layer, etc.)
Note : rendering method is also configurable per layer by adding a boolean "preRender" property to your layer in Tiled (https://doc.mapeditor.org/en/stable/manual/custom-properties/#adding-properties).

Public Methods


addBody world.js:120
addBody(body: Body) → {World}

Add a physic body to the game world

Parameters:
Name Type Description
body Body
Returns:
Type Description
World

this game world

See: Container.addChild
removeBody world.js:134
removeBody(body: Body) → {World}

Remove a physic body from the game world

Parameters:
Name Type Description
body Body
Returns:
Type Description
World

this game world

See: Container.removeChild
reset world.js:102
reset() → {}

reset the game world

step world.js:185
step(dt: number) → {}

update the builtin physic simulation by one step (called by the game world update method)

Parameters:
Name Type Description
dt number

the time passed since the last frame update

update world.js:164
update(dt: number) → {boolean}

update the game world

Parameters:
Name Type Description
dt number

the time passed since the last frame update

Returns:
Type Description
boolean

true if the world is dirty


Powered by webdoc!