collectible
Permet à un objet d'être collecté par un joueur
triggers on self
"picked"parameters
| Parameter | Default Value | Type | Description |
|---|---|---|---|
goesToInventory | boolean | false | s'ajoute à l'inventaire du joueur lorsqu'il est collecté |
autoDestroy | boolean | true | se détruit lorsqu'il est collecté |
interactToPick | boolean | false | un input est nécessaire pour être collecté |
tag | string | 'player' | identifiant des objets pouvant collecter |
type | string | 'item' | type de l'objet |
offset | Vec2 | vec2(0, -20) | décalage de la position de l'animation |
example
collectible({ goesToInventory: false, autoDestroy: true, interactToPick: false, tag: 'player', type: 'item', offset: vec2(0, -20)}),function collectible(p) { const param = { goesToInventory: false, // s'ajoute à l'inventaire du joueur lorsqu'il est collecté autoDestroy: true, // se détruit lorsqu'il est collecté interactToPick: false, // un input est nécessaire pour être collecté tag: 'player', // identifiant des objets pouvant collecter type: 'item', // type de l'objet offset: vec2(0, -20), // décalage de la position de l'animation [Vec2] ...p, }; return { id: 'collectible', add() { const picked = (obj) => { this.trigger('picked'); obj.trigger('pick', { sprite: this.sprite, type: param.type, goesToInventory: param.goesToInventory, }); this.hidden = true; this.collisionIgnore = ['*']; }; if (!param.interactToPick) this.onCollide(param.tag, (obj) => picked(obj)); else this.on('interacted', (obj) => picked(obj)); }, };}