gameforge - v0.1.12
    Preparing search index...

    Class Container<T>

    Container is a general-purpose display object that holds children. It also adds built-in support for advanced rendering features like masking and filtering.

    It is the base class of all display objects that act as a container for other objects, including Graphics and Sprite.

    import { BlurFilter, Container, Graphics, Sprite } from 'pixi.js';

    const container = new Container();
    const sprite = Sprite.from('https://s3-us-west-2.amazonaws.com/s.cdpn.io/693612/IaUrttj.png');

    sprite.width = 512;
    sprite.height = 512;

    // Adds a sprite as a child to this container. As a result, the sprite will be rendered whenever the container
    // is rendered.
    container.addChild(sprite);

    // Blurs whatever is rendered by the container
    container.filters = [new BlurFilter()];

    // Only the contents within a circle at the center should be rendered onto the screen.
    container.mask = new Graphics()
    .beginFill(0xffffff)
    .drawCircle(sprite.width / 2, sprite.height / 2, Math.min(sprite.width, sprite.height) / 2)
    .endFill();

    PIXI

    Type Parameters

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    _accessibleActive?: boolean
    _accessibleDiv?: IAccessibleHTMLElement
    _bounds: Bounds

    The bounds object, this is used to calculate and store the bounds of the displayObject.

    _boundsID: number

    Flags the cached bounds as dirty.

    _boundsRect: Rectangle

    Cache of this display-object's bounds-rectangle.

    _cacheAsBitmap: boolean
    _cacheAsBitmapMultisample: MSAA_QUALITY
    _cacheAsBitmapResolution: number
    _cacheData: CacheData
    _destroyed: boolean

    If the object has been destroyed via destroy(). If true, it should not be used.

    _enabledFilters: Pixi.Filter[]

    Currently enabled filters.

    _height: number
    _internalEventMode: EventMode
    _internalInteractive: boolean
    _lastSortedIndex: number

    Which index in the children array the display component was before the previous zIndex sort. Used by containers to help sort objects with the same zIndex, by using previous array index as the decider.

    _localBounds: Bounds

    Local bounds object, swapped with _bounds when using getLocalBounds().

    _localBoundsRect: Rectangle

    Cache of this display-object's local-bounds rectangle.

    The original, cached mask of the object.

    _width: number
    _zIndex: number

    The zIndex of the displayObject. A higher value will mean it will be rendered on top of other displayObjects within the same container.

    accessible?: boolean
    accessibleChildren?: boolean
    accessibleHint?: string
    accessiblePointerEvents?: PointerEvents
    accessibleTitle?: string
    accessibleType?: string
    alpha: number

    The opacity of the object.

    cacheAsBitmap: boolean
    cacheAsBitmapMultisample: MSAA_QUALITY
    cacheAsBitmapResolution: number
    children: T[]

    The array of children of this container.

    containerUpdateTransform: () => void
    cullable: boolean

    Should this object be rendered if the bounds of this object are out of frame?

    Culling has no effect on whether updateTransform is called.

    cullArea: Rectangle

    If set, this shape is used for culling instead of the bounds of this object. It can improve the culling performance of objects with many children. The culling area is defined in local space.

    cursor: string

    The cursor preferred when the mouse pointer is hovering over.

    displayObjectUpdateTransform: () => void
    eventMode: EventMode

    The mode of interaction for this object

    filterArea: Rectangle

    The area the filter is applied to. This is used as more of an optimization rather than figuring out the dimensions of the displayObject each frame you can set this rectangle.

    Also works as an interaction mask.

    filters: null | Pixi.Filter[]

    Sets the filters for the displayObject. IMPORTANT: This is a WebGL only feature and will be ignored by the canvas renderer. To remove filters simply set this property to 'null'.

    hitArea: null | IHitArea

    The hit-area specifies the area for which pointer events should be captured by this event target.

    interactive: boolean

    Whether this event target should fire UI events.

    interactiveChildren: boolean

    Whether this event target has any children that need UI events. This can be used optimize event propagation.

    isInteractive: () => boolean

    Returns true if the DisplayObject has interactive 'static' or 'dynamic'

    isMask: boolean

    Does any other displayObject use this object as a mask?

    isSprite: boolean

    Used to fast check if a sprite is.. a sprite!

    name: null | string

    Handler for 'click' event

    onglobalmousemove: null | FederatedEventHandler<FederatedPointerEvent>

    Handler for 'globalmousemove' event

    onglobalpointermove: null | FederatedEventHandler<FederatedPointerEvent>

    Handler for 'globalpointermove' event

    onglobaltouchmove: null | FederatedEventHandler<FederatedPointerEvent>

    Handler for 'globaltouchmove' event

    Handler for 'mousedown' event

    Handler for 'mouseenter' event

    Handler for 'mouseleave' event

    Handler for 'mousemove' event

    Handler for 'mouseout' event

    Handler for 'mouseover' event

    Handler for 'mouseup' event

    Handler for 'mouseupoutside' event

    Handler for 'pointercancel' event

    Handler for 'pointerdown' event

    Handler for 'pointerenter' event

    Handler for 'pointerleave' event

    Handler for 'pointermove' event

    Handler for 'pointerout' event

    Handler for 'pointerover' event

    Handler for 'pointertap' event

    Handler for 'pointerup' event

    onpointerupoutside: null | FederatedEventHandler<FederatedPointerEvent>

    Handler for 'pointerupoutside' event

    Handler for 'rightclick' event

    Handler for 'rightdown' event

    Handler for 'rightup' event

    Handler for 'rightupoutside' event

    Handler for 'tap' event

    Handler for 'touchcancel' event

    Handler for 'touchend' event

    ontouchendoutside: null | FederatedEventHandler<FederatedPointerEvent>

    Handler for 'touchendoutside' event

    Handler for 'touchmove' event

    Handler for 'touchstart' event

    Handler for 'wheel' event

    parent: Container

    The display object container that contains this display object.

    renderable: boolean

    Can this object be rendered, if false the object will not be drawn but the updateTransform methods will still be called.

    Only affects recursive calls from parent. You can ask for bounds manually.

    renderId?: number
    sortableChildren: boolean

    If set to true, the container will sort its children by zIndex value when updateTransform() is called, or manually if sortChildren() is called.

    This actually changes the order of elements in the array, so should be treated as a basic solution that is not performant compared to other solutions, such as PixiJS Layers

    Also be aware of that this may not work nicely with the addChildAt() function, as the zIndex sorting may cause the child to automatically sorted to another position.

    PIXI.Container.defaultSortableChildren

    sortDirty: boolean

    Should children be sorted by zIndex at the next updateTransform call.

    Will get automatically set to true if a new child is added, or if a child's zIndex changes.

    tabIndex?: number
    transform: Transform

    World transform and local transform of this object. This will become read-only later, please do not assign anything there unless you know what are you doing.

    visible: boolean

    The visibility of the object. If false the object will not be drawn, and the updateTransform function will not be called.

    Only affects recursive calls from parent. You can ask for bounds or call updateTransform manually.

    worldAlpha: number

    The multiplied alpha of the displayObject.

    defaultSortableChildren: boolean

    Sets the default value for the container property sortableChildren. If set to true, the container will sort its children by zIndex value when updateTransform() is called, or manually if sortChildren() is called.

    This actually changes the order of elements in the array, so should be treated as a basic solution that is not performant compared to other solutions, such as PixiJS Layers.

    Also be aware of that this may not work nicely with the addChildAt() function, as the zIndex sorting may cause the child to automatically sorted to another position.

    prefixed: string | boolean

    Accessors

    • get _tempDisplayObjectParent(): TemporaryDisplayObject
      Protected

      Returns TemporaryDisplayObject

    • get angle(): number

      The angle of the object in degrees. 'rotation' and 'angle' have the same effect on a display object; rotation is in radians, angle is in degrees.

      Returns number

    • set angle(value: number): void

      Parameters

      • value: number

      Returns void

    • get destroyed(): boolean

      Readonly flag for destroyed display objects.

      Returns boolean

    • get height(): number

      The height of the Container, setting this will actually modify the scale to achieve the value set.

      Returns number

    • set height(value: number): void

      Parameters

      • value: number

      Returns void

    • get localTransform(): Matrix

      Current transform of the object based on local factors: position, scale, other stuff.

      Returns Matrix

    • get mask(): null | Container<DisplayObject> | MaskData

      Sets a mask for the displayObject. A mask is an object that limits the visibility of an object to the shape of the mask applied to it. In PixiJS a regular mask must be a PIXI.Graphics or a PIXI.Sprite object. This allows for much faster masking in canvas as it utilities shape clipping. Furthermore, a mask of an object must be in the subtree of its parent. Otherwise, getLocalBounds may calculate incorrect bounds, which makes the container's width and height wrong. To remove a mask, set this property to null.

      For sprite mask both alpha and red channel are used. Black mask is the same as transparent mask.

      Returns null | Container<DisplayObject> | MaskData

      import { Graphics, Sprite } from 'pixi.js';

      const graphics = new Graphics();
      graphics.beginFill(0xFF3300);
      graphics.drawRect(50, 250, 100, 100);
      graphics.endFill();

      const sprite = new Sprite(texture);
      sprite.mask = graphics;

      At the moment, CanvasRenderer doesn't support Sprite as mask.

    • set mask(value: null | Container<DisplayObject> | MaskData): void

      Parameters

      Returns void

    • get pivot(): ObservablePoint

      The center of rotation, scaling, and skewing for this display object in its local space. The position is the projection of pivot in the parent's local space.

      By default, the pivot is the origin (0, 0).

      Returns ObservablePoint

      4.0.0

    • set pivot(value: IPointData): void

      Parameters

      Returns void

    • get position(): ObservablePoint

      The coordinate of the object relative to the local coordinates of the parent.

      Returns ObservablePoint

      4.0.0

    • set position(value: IPointData): void

      Parameters

      Returns void

    • get rotation(): number

      The rotation of the object in radians. 'rotation' and 'angle' have the same effect on a display object; rotation is in radians, angle is in degrees.

      Returns number

    • set rotation(value: number): void

      Parameters

      • value: number

      Returns void

    • get scale(): ObservablePoint

      The scale factors of this object along the local coordinate axes.

      The default scale is (1, 1).

      Returns ObservablePoint

      4.0.0

    • set scale(value: IPointData): void

      Parameters

      Returns void

    • get skew(): ObservablePoint

      The skew factor for the object in radians.

      Returns ObservablePoint

      4.0.0

    • set skew(value: IPointData): void

      Parameters

      Returns void

    • get width(): number

      The width of the Container, setting this will actually modify the scale to achieve the value set.

      Returns number

    • set width(value: number): void

      Parameters

      • value: number

      Returns void

    • get worldTransform(): Matrix

      Current transform of the object based on world (parent) factors.

      Returns Matrix

    • get worldVisible(): boolean

      Indicates if the object is globally visible.

      Returns boolean

    • get x(): number

      The position of the displayObject on the x axis relative to the local coordinates of the parent. An alias to position.x

      Returns number

    • set x(value: number): void

      Parameters

      • value: number

      Returns void

    • get y(): number

      The position of the displayObject on the y axis relative to the local coordinates of the parent. An alias to position.y

      Returns number

    • set y(value: number): void

      Parameters

      • value: number

      Returns void

    • get zIndex(): number

      The zIndex of the displayObject.

      If a container has the sortableChildren property set to true, children will be automatically sorted by zIndex value; a higher value will mean it will be moved towards the end of the array, and thus rendered on top of other display objects within the same container.

      Returns number

      PIXI.Container#sortableChildren

    • set zIndex(value: number): void

      Parameters

      • value: number

      Returns void

    Methods

    • Protected

      Recalculates the content bounds of this object. This should be overriden to calculate the bounds of this specific object (not including children).

      Returns void

    • Recursively updates transform of all objects from the root to this one internal function for toLocal()

      Returns void

    • To be overridden by the subclasses.

      Parameters

      Returns void

    • Protected

      Renders this object and its children with culling.

      Parameters

      Returns void

    • Adds one or more children to the container.

      Multiple items can be added like so: myContainer.addChild(thingOne, thingTwo, thingThree)

      Type Parameters

      • U extends T[]

      Parameters

      • ...children: U

        The DisplayObject(s) to add to the container

      Returns U[0]

      • The first child that was added.
    • Adds a child to the container at a specified index. If the index is out of bounds an error will be thrown. If the child is already in this container, it will be moved to the specified index.

      Type Parameters

      Parameters

      • child: U

        The child to add.

      • index: number

        The absolute index where the child will be positioned at the end of the operation.

      Returns U

      The child that was added.

    • Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.

      The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.

      When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.

      When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.

      When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.

      If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.

      The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.

      MDN Reference

      Type Parameters

      • K extends (keyof FederatedEventMap) | (keyof GlobalFederatedEventMap)

      Parameters

      Returns void

    • Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.

      The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.

      When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.

      When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.

      When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.

      If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.

      The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.

      MDN Reference

      Parameters

      • type: string
      • listener: EventListenerOrEventListenerObject
      • Optionaloptions: AddListenerOptions

      Returns void

    • Recalculates the bounds of the container.

      This implementation will automatically fit the children's bounds into the calculation. Each child's bounds is limited to its mask's bounds or filterArea, if any is applied.

      Returns void

    • Removes all internal references and listeners as well as removes children from the display list. Do not use a Container after calling destroy.

      Parameters

      • Optionaloptions: boolean | IDestroyOptions

        Options parameter. A boolean will act as if all options have been set to that value

        • boolean
        • IDestroyOptions
          • OptionalbaseTexture?: boolean
          • Optionalchildren?: boolean
          • Optionaltexture?: boolean

      Returns void

    • Pair method for enableTempParent

      Parameters

      • cacheParent: Container

        Actual parent of element

      Returns void

    • Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.

      MDN Reference

      Parameters

      • event: Event

      Returns boolean

    • Used in Renderer, cacheAsBitmap and other places where you call an updateTransform on root.

      const cacheParent = elem.enableTempParent();
      elem.updateTransform();
      elem.disableTempParent(cacheParent);

      Returns Container

      • Current parent
    • Calculates and returns the (world) bounds of the display object as a [Rectangle]PIXI.Rectangle.

      This method is expensive on containers with a large subtree (like the stage). This is because the bounds of a container depend on its children's bounds, which recursively causes all bounds in the subtree to be recalculated. The upside, however, is that calling getBounds once on a container will indeed update the bounds of all children (the whole subtree, in fact). This side effect should be exploited by using displayObject._bounds.getRectangle() when traversing through all the bounds in a scene graph. Otherwise, calling getBounds on each object in a subtree will cause the total cost to increase quadratically as its height increases.

      The transforms of all objects in a container's subtree and of all ancestors are updated. The world bounds of all display objects in a container's subtree will also be recalculated.

      The _bounds object stores the last calculation of the bounds. You can use to entirely skip bounds calculation if needed.

      const lastCalculatedBounds = displayObject._bounds.getRectangle(optionalRect);
      

      Do know that usage of getLocalBounds can corrupt the _bounds of children (the whole subtree, actually). This is a known issue that has not been solved. See [getLocalBounds]PIXI.DisplayObject#getLocalBounds for more details.

      getBounds should be called with skipUpdate equal to true in a render() call. This is because the transforms are guaranteed to be update-to-date. In fact, recalculating inside a render() call may cause corruption in certain cases.

      Parameters

      • OptionalskipUpdate: boolean

        Setting to true will stop the transforms of the scene graph from being updated. This means the calculation returned MAY be out of date BUT will give you a nice performance boost.

      • Optionalrect: Rectangle

        Optional rectangle to store the result of the bounds calculation.

      Returns Rectangle

      • The minimum axis-aligned rectangle in world space that fits around this object.
    • Returns the child at the specified index

      Parameters

      • index: number

        The index to get the child at

      Returns T

      • The child at the given index, if any.
    • Type Parameters

      Parameters

      • name: string
      • Optionaldeep: boolean

      Returns null | T

    • Returns the index position of a child DisplayObject instance

      Parameters

      • child: T

        The DisplayObject instance to identify

      Returns number

      • The index position of the child display object to identify
    • Retrieves the local bounds of the displayObject as a rectangle object.

      Calling getLocalBounds may invalidate the _bounds of the whole subtree below. If using it inside a render() call, it is advised to call getBounds() immediately after to recalculate the world bounds of the subtree.

      Parameters

      • Optionalrect: Rectangle

        Optional rectangle to store the result of the bounds calculation.

      • OptionalskipChildrenUpdate: boolean

        Setting to true will stop re-calculation of children transforms, it was default behaviour of pixi 4.0-5.2 and caused many problems to users.

      Returns Rectangle

      • The rectangular bounding area.
    • Overridable method that can be used by Container subclasses whenever the children array is modified.

      Parameters

      • Optional_length: number

      Returns void

    • Remove all listeners, or those of the specified event.

      Parameters

      • Optionalevent: keyof DisplayObjectEvents

      Returns this

    • Removes one or more children from the container.

      Type Parameters

      • U extends T[]

      Parameters

      • ...children: U

        The DisplayObject(s) to remove

      Returns U[0]

      The first child that was removed.

    • Removes a child from the specified index position.

      Parameters

      • index: number

        The index to get the child from

      Returns T

      The child that was removed.

    • Removes all children from this container that are within the begin and end indexes.

      Parameters

      • OptionalbeginIndex: number

        The beginning position.

      • OptionalendIndex: number

        The ending position. Default value is size of the container.

      Returns T[]

      • List of removed children
    • Removes the event listener in target's event listener list with the same type, callback, and options.

      MDN Reference

      Type Parameters

      • K extends (keyof FederatedEventMap) | (keyof GlobalFederatedEventMap)

      Parameters

      Returns void

    • Removes the event listener in target's event listener list with the same type, callback, and options.

      MDN Reference

      Parameters

      • type: string
      • listener: EventListenerOrEventListenerObject
      • Optionaloptions: RemoveListenerOptions

      Returns void

    • Remove the DisplayObject from its parent Container. If the DisplayObject has no parent, do nothing.

      Returns void

    • Renders the object using the WebGL renderer.

      The [_render]PIXI.Container#_render method is be overriden for rendering the contents of the container itself. This render method will invoke it, and also invoke the render methods of all children afterward.

      If renderable or visible is false or if worldAlpha is not positive or if cullable is true and the bounds of this object are out of frame, this implementation will entirely skip rendering. See PIXI.DisplayObject for choosing between renderable or visible. Generally, setting alpha to zero is not recommended for purely skipping rendering.

      When your scene becomes large (especially when it is larger than can be viewed in a single screen), it is advised to employ culling to automatically skip rendering objects outside of the current screen. See [cullable]PIXI.DisplayObject#cullable and [cullArea]PIXI.DisplayObject#cullArea. Other culling methods might be better suited for a large number static objects; see [@pixi-essentials/cull]https://www.npmjs.com/package/@pixi-essentials/cull and [pixi-cull]https://www.npmjs.com/package/pixi-cull.

      The [renderAdvanced]PIXI.Container#renderAdvanced method is internally used when when masking or filtering is applied on a container. This does, however, break batching and can affect performance when masking and filtering is applied extensively throughout the scene graph.

      Parameters

      Returns void

    • Render the object using the WebGL renderer and advanced features.

      Parameters

      Returns void

    • Changes the position of an existing child in the display object container

      Parameters

      • child: T

        The child DisplayObject instance for which you want to change the index number

      • index: number

        The resulting index number for the child display object

      Returns void

    • Set the parent Container of this DisplayObject.

      Parameters

      • container: Container

        The Container to add this DisplayObject to.

      Returns Container

      • The Container that this DisplayObject was added to.
    • Convenience function to set the position, scale, skew and pivot at once.

      Parameters

      • Optionalx: number

        The X position

      • Optionaly: number

        The Y position

      • OptionalscaleX: number

        The X scale value

      • OptionalscaleY: number

        The Y scale value

      • Optionalrotation: number

        The rotation

      • OptionalskewX: number

        The X skew value

      • OptionalskewY: number

        The Y skew value

      • OptionalpivotX: number

        The X pivot value

      • OptionalpivotY: number

        The Y pivot value

      Returns this

      • The DisplayObject instance
    • Sorts children by zIndex. Previous order is maintained for 2 children with the same zIndex.

      Returns void

    • Swaps the position of 2 Display Objects within this container.

      Parameters

      • child: T

        First display object to swap

      • child2: T

        Second display object to swap

      Returns void

    • Calculates the global position of the display object.

      Type Parameters

      Parameters

      • position: IPointData

        The world origin to calculate from.

      • Optionalpoint: P

        A Point object in which to store the value, optional (otherwise will create a new Point).

      • OptionalskipUpdate: boolean

        Should we skip the update transform.

      Returns P

      • A point object representing the position of this object.
    • Calculates the local position of the display object relative to another point.

      Type Parameters

      Parameters

      • position: IPointData

        The world origin to calculate from.

      • Optionalfrom: DisplayObject

        The DisplayObject to calculate the global position from.

      • Optionalpoint: P

        A Point object in which to store the value, optional (otherwise will create a new Point).

      • OptionalskipUpdate: boolean

        Should we skip the update transform

      Returns P

      • A point object representing the position of this object
    • Updates the transform on all children of this container for rendering.

      Returns void

    • Mixes all enumerable properties and methods from a source object to DisplayObject.

      Parameters

      • source: Dict<any>

        The source of properties and methods to mix in.

      Returns void