Transform

El componente Transform define la posición, escala y rotación de una entidad en el mundo del juego. Puede anidarse bajo un transform padre: los transforms hijos combinan sus valores con los del padre, y un hijo puede ignorar selectivamente partes del transform del padre.

La mayoría de las entidades tienen un Transform: los componentes de renderizado y física lo usan para situar la entidad en el mundo.

Opciones

OpciónTipoValor por defectoDescripción
positionVector2(0, 0)Posición relativa al origen del mundo, o al padre si la entidad tiene uno.
scaleVector2(1, 1)Escala en los ejes x e y.
rotationnumber0Rotación en radianes.
ignoreParentPositionbooleanfalseSi es true, se ignora la posición del padre.
ignoreParentScalebooleanfalseSi es true, se ignora la escala del padre.
ignoreParentRotationbooleanfalseSi es true, se ignora la rotación del padre.

Propiedades de solo lectura

Cuando una entidad tiene un padre, position, scale y rotation son relativas a él. Los valores resueltos en el espacio del mundo se exponen como propiedades de solo lectura:

PropiedadTipoDescripción
localPositionVector2Posición resuelta en el mundo. Igual a position cuando no hay padre.
localScaleVector2Escala resuelta en el mundo. Igual a scale cuando no hay padre.
localRotationnumberRotación resuelta en el mundo. Igual a rotation cuando no hay padre.

Ejemplo

import { Transform, Vector2 } from "angry-pixel";

this.entityManager.createEntity([
    new Transform({
        position: new Vector2(100, 100),
        scale: new Vector2(2, 2),
        rotation: Math.PI / 4,
    }),
]);

Consulta Agregar entidades a la escena para las jerarquías de entidades padre-hijo.