UNPKG

gibbon.js

Version:

Actor/Component system for use with pixi.js.

49 lines (35 loc) 865 B
import { Component } from "../core/component"; import { DisplayObject, TilingSprite } from 'pixi.js'; export class SpriteTiler extends Component { /** * @property {DisplayObject} DisplayObject to follow. */ get target() { return this._target; } set target(v) { this._target = v; if (v) { this.sprite?.tilePosition.set(-v.position.x, -v.position.y); } } private _target?: DisplayObject; sprite?: TilingSprite; /** * * @param {PIXI.Sprite} tilingSprite */ constructor(tilingSprite?: TilingSprite) { super(); this.sprite = tilingSprite; } init() { if (!this.sprite) { this.sprite = this.actor!.clip as TilingSprite; } } update(delta: number) { if (this._target) { const pos = this._target.position; this.sprite?.tilePosition.set(-pos.x, -pos.y); } } }