API reference

Every public class, method, and event in @codexo/exojs. Generated from source.

C

classSprite

@codexo/exojs / rendering / stable

The primary 2D drawable for textured quads and the foundation of the rendering hierarchy. A Sprite wraps a Texture (or RenderTexture) and exposes full transform control (position, rotation, scale, origin) inherited from Drawable. The rendered quad is derived from `textureFrame`, which defaults to the full texture dimensions but can be narrowed to a sub-region (e.g. a frame from a Spritesheet). Vertex and normal data are computed lazily and cached until the transform or frame changes, making repeated read access free after the first evaluation. Collision helpers — `contains`, `getNormals`, `project` — are overridden to operate on the exact rotated quad rather than the AABB.

39
props
38
methods
13
events
Import
import { Sprite } from '@codexo/exojs'

The primary 2D drawable for textured quads and the foundation of the rendering hierarchy.

A Sprite wraps a Texture (or RenderTexture) and exposes full transform control (position, rotation, scale, origin) inherited from Drawable. The rendered quad is derived from `textureFrame`, which defaults to the full texture dimensions but can be narrowed to a sub-region (e.g. a frame from a Spritesheet).

Vertex and normal data are computed lazily and cached until the transform or frame changes, making repeated read access free after the first evaluation. Collision helpers — `contains`, `getNormals`, `project` — are overridden to operate on the exact rotated quad rather than the AABB.

Constructors 1
new(texture: Texture | RenderTexture | null): Sprite
Methods 38
_invalidateChildrenTransform(): void
_updateOrigin(): void
addFilter(filter: Filter): this
blur(): this
clearFilters(): this
collidesWith(target: Collidable): CollisionResponse | null
contains(x: number, y: number): boolean
destroy(): void
focus(): this
getBounds(): Rectangle
getGlobalTransform(): Matrix
getLocalBounds(): Rectangle
getNormals(): Vector[]
getTransform(): Matrix
intersectsWith(target: Collidable): boolean
invalidateCache(): this
inView(view: View): boolean
move(x: number, y: number): this
project(axis: Vector, result: Interval): Interval
removeFilter(filter: Filter): this
render(backend: RenderBackend): this
resetTextureFrame(): this
rotate(degrees: number): this
setAnchor(x: number, y: number): this
setBlendMode(blendMode: BlendModes): this
setOrigin(x: number, y: number): this
setPosition(x: number, y: number): this
setRotation(degrees: number): this
setScale(x: number, y: number): this
setSkew(x: number, y: number): this
setTexture(texture: Texture | RenderTexture | null): this
setTextureFrame(frame: Rectangle, resetSize: boolean): this
setTint(color: Color): this
updateBounds(): this
updateParentTransform(): this
updateTexture(): this
updateTransform(): this
setInternalSpriteFactory(factory: object | null): void
Properties 39
clip: boolean
clipShape: Rectangle | Geometry | null
collisionType: CollisionType
cursor: string | null
draggable: boolean
flags: Flags<SceneNodeTransformFlags>
focusable: boolean
name: string | null
preserveDrawOrder: boolean
tabIndex: number
anchor: ObservableVector
blendMode: BlendModes
cacheAsBitmap: boolean
cullable: boolean
cullArea: Rectangle | null
filters: readonly Filter[]
height: number
interactive: boolean
isAlignedBox: boolean
mask: MaskSource
material: SpriteMaterial | null
origin: ObservableVector
parent: Container | null
pixelSnapMode: PixelSnapMode
position: ObservableVector
rotation: number
scale: ObservableVector
skewX: number
skewY: number
texCoords: Uint32Array
texture: Texture | RenderTexture | null
textureFrame: Rectangle
tint: Color
vertices: Float32Array
visible: boolean
width: number
x: number
y: number
zIndex: number
Events 13
onBlur: Signal<[RenderNode]>
onDrag: Signal<[InteractionEvent]>
onDragEnd: Signal<[InteractionEvent]>
onDragStart: Signal<[InteractionEvent]>
onFocus: Signal<[RenderNode]>
onKeyDown: Signal<[KeyEvent]>
onKeyUp: Signal<[KeyEvent]>
onPointerDown: Signal<[InteractionEvent]>
onPointerMove: Signal<[InteractionEvent]>
onPointerOut: Signal<[InteractionEvent]>
onPointerOver: Signal<[InteractionEvent]>
onPointerTap: Signal<[InteractionEvent]>
onPointerUp: Signal<[InteractionEvent]>
Source