view docs/specs/sprite.md @ 104:385ba70b93e3

Common: add weak_array class
author David Demelier <markand@malikania.fr>
date Sat, 02 Sep 2017 11:24:42 +0200
parents 88d996df3eba
children 835c8ee3f9e5
line wrap: on
line source

# Sprite

A sprite is an object that splits an image into several cells. It is primarily
designed to combine multiple related images into one for better performance and
easier usage.

Sprites are mostly used as character design, some GUI elements, map tilesets
and other data that require lots of related images.

Sprites can be created natively in C++, Javascript or using the resource loader
with an appropriate JSON description.

## JSON specification

### Synopsis

````json
{
    "image": "image identifier",
    "cell": [ 0, 0 ],
    "margin": [ 0, 0 ],
    "space": [ 0, 0 ],
    "size": [ 50, 50 ]
}
````

### Properties

  - **image**: unique identifier to an image,
  - **cell**: size of sprite cells,
  - **margin**: top/left and bottom/right margins (Optional: default none),
  - **space**:
    space between each cell horizontally/vertically (Optional: default none),
  - **size**: override image size (Optional: default automatic).