mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
* [Corona] Adding ability to load atlas files * [Corona] Added example of using atlas # Documentation: ## Lua runtime: `spine.Atlas.parse` `Atlas.lua` introduces `spine.Atlas.parse(atlasPath, baseDir)` funciton. This function can be use across Lua runtimes to implement their their own image sheet bindings. It will return Array of `Page`s or `nil` if error. ### `Page` properties: * `name` - filename of the page (`"raptor.png"`) * `size` - dimmensions of original image (`[1022,1022]`) * `format` - texture format (`"RGBA8888"`) * `filter` - filter for texture scalin up and down (`["Linear","Linear"]`) * `wrap` - wrap modes (`"none"`) * `regions` - Array of `Region`s on this page ### `Region` properties: * `name` - region name (`"torso"`) * `rotate` - is image rotated in texture (`true`) * `xy` - image frame position on texture (`[610,647]`) * `size` - image frame size on texture (`[54,91]`) * `splits` - (optional) * `pad` - (optional) * `orig` - original image size (`[54,91]`) * `offset` - offset if image was trimmed (`[0,0]`) * `index` - `-1` ## Corona runtime: `spine.GetAtlasSprites` `spine.lua` introduces `spine.GetAtlasSprites(atlasName, baseDir)`, which returns `Sprites` table. This funciton would parse atlas, locate atlas textures, load them to Corona's image sheets and create convinience bindings and functions. User can use convenience functions, or write own wrappers. ### `Sprites` table #### Convenience functions: * `ATLAS_HELPER_createImage` - can be assigned to `skeleton.createImage` * `ATLAS_HELPER_createMesh` - can be assigned to `skeleton.createMesh` * `ATLAS_HELPER_setupSkeleton` - use this on skeleton to assing both creation functions (`sprites.setupSkeleton(skeleton)`) ### Region name bindings: All other elements of `Sprites` table would contain binding `sprites["region_name"] = sheetReference`, where each `sheetReference` contains following elements: * `frame` - number of frame in image sheet (`42`) * `region` - reference to `Region` table * `page` - reference to `Page` table. `Page` table would also get new property - `sheet`, reference to Corona's image sheet where sprites can be accessed. As result, to create image for `attachment` code would look something like `display.newImage( sprites[attachment.name].page.sheet, sprites[attachment.name].frame )`. For more rubust example see `ATLAS_HELPER_createImage` in `spine-corona/spine.lua`. # Known Issues: * Corona would not work with padded/cropped atlases. * Possible (but unprobable) name collision with region names and `ATLAS_HELPER_*` functions.
195 lines
2.7 KiB
Plaintext
195 lines
2.7 KiB
Plaintext
|
|
spineboy.png
|
|
format: RGBA8888
|
|
filter: Linear,Linear
|
|
repeat: none
|
|
eye_indifferent
|
|
rotate: true
|
|
xy: 389, 5
|
|
size: 56, 53
|
|
orig: 56, 53
|
|
offset: 0, 0
|
|
index: -1
|
|
eye_surprised
|
|
rotate: false
|
|
xy: 580, 34
|
|
size: 56, 53
|
|
orig: 56, 53
|
|
offset: 0, 0
|
|
index: -1
|
|
front_bracer
|
|
rotate: false
|
|
xy: 732, 85
|
|
size: 35, 48
|
|
orig: 35, 48
|
|
offset: 0, 0
|
|
index: -1
|
|
front_fist_closed
|
|
rotate: false
|
|
xy: 556, 91
|
|
size: 45, 49
|
|
orig: 45, 49
|
|
offset: 0, 0
|
|
index: -1
|
|
front_fist_open
|
|
rotate: false
|
|
xy: 668, 32
|
|
size: 52, 52
|
|
orig: 52, 52
|
|
offset: 0, 0
|
|
index: -1
|
|
front_foot
|
|
rotate: false
|
|
xy: 924, 201
|
|
size: 76, 41
|
|
orig: 76, 41
|
|
offset: 0, 0
|
|
index: -1
|
|
front_foot_bend1
|
|
rotate: false
|
|
xy: 845, 200
|
|
size: 77, 42
|
|
orig: 77, 42
|
|
offset: 0, 0
|
|
index: -1
|
|
front_foot_bend2
|
|
rotate: false
|
|
xy: 778, 186
|
|
size: 65, 56
|
|
orig: 65, 56
|
|
offset: 0, 0
|
|
index: -1
|
|
front_shin
|
|
rotate: true
|
|
xy: 444, 91
|
|
size: 49, 110
|
|
orig: 49, 110
|
|
offset: 0, 0
|
|
index: -1
|
|
front_thigh
|
|
rotate: true
|
|
xy: 603, 89
|
|
size: 29, 67
|
|
orig: 29, 67
|
|
offset: 0, 0
|
|
index: -1
|
|
front_upper_arm
|
|
rotate: true
|
|
xy: 672, 86
|
|
size: 32, 58
|
|
orig: 32, 58
|
|
offset: 0, 0
|
|
index: -1
|
|
goggles
|
|
rotate: false
|
|
xy: 444, 142
|
|
size: 157, 100
|
|
orig: 157, 100
|
|
offset: 0, 0
|
|
index: -1
|
|
gun
|
|
rotate: false
|
|
xy: 603, 120
|
|
size: 126, 122
|
|
orig: 126, 122
|
|
offset: 0, 0
|
|
index: -1
|
|
head
|
|
rotate: false
|
|
xy: 279, 63
|
|
size: 163, 179
|
|
orig: 163, 179
|
|
offset: 0, 0
|
|
index: -1
|
|
mouth_grind
|
|
rotate: false
|
|
xy: 845, 163
|
|
size: 56, 35
|
|
orig: 56, 35
|
|
offset: 0, 0
|
|
index: -1
|
|
mouth_oooo
|
|
rotate: false
|
|
xy: 842, 126
|
|
size: 56, 35
|
|
orig: 56, 35
|
|
offset: 0, 0
|
|
index: -1
|
|
mouth_smile
|
|
rotate: false
|
|
xy: 769, 97
|
|
size: 56, 35
|
|
orig: 56, 35
|
|
offset: 0, 0
|
|
index: -1
|
|
muzzle
|
|
rotate: false
|
|
xy: 2, 2
|
|
size: 275, 240
|
|
orig: 277, 240
|
|
offset: 0, 0
|
|
index: -1
|
|
neck
|
|
rotate: false
|
|
xy: 903, 173
|
|
size: 22, 25
|
|
orig: 22, 25
|
|
offset: 0, 0
|
|
index: -1
|
|
rear_bracer
|
|
rotate: false
|
|
xy: 722, 40
|
|
size: 34, 43
|
|
orig: 34, 43
|
|
offset: 0, 0
|
|
index: -1
|
|
rear_foot
|
|
rotate: false
|
|
xy: 444, 11
|
|
size: 68, 36
|
|
orig: 68, 36
|
|
offset: 0, 0
|
|
index: -1
|
|
rear_foot_bend1
|
|
rotate: false
|
|
xy: 444, 49
|
|
size: 70, 40
|
|
orig: 70, 40
|
|
offset: 0, 0
|
|
index: -1
|
|
rear_foot_bend2
|
|
rotate: false
|
|
xy: 778, 134
|
|
size: 62, 50
|
|
orig: 62, 50
|
|
offset: 0, 0
|
|
index: -1
|
|
rear_shin
|
|
rotate: false
|
|
xy: 731, 135
|
|
size: 45, 107
|
|
orig: 45, 107
|
|
offset: 0, 0
|
|
index: -1
|
|
rear_thigh
|
|
rotate: true
|
|
xy: 516, 50
|
|
size: 39, 62
|
|
orig: 39, 62
|
|
offset: 0, 0
|
|
index: -1
|
|
rear_upper_arm
|
|
rotate: false
|
|
xy: 638, 35
|
|
size: 28, 52
|
|
orig: 28, 52
|
|
offset: 0, 0
|
|
index: -1
|
|
torso
|
|
rotate: true
|
|
xy: 279, 2
|
|
size: 59, 108
|
|
orig: 59, 108
|
|
offset: 0, 0
|
|
index: -1
|