mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-20 09:16:01 +08:00
Updated all READMEs.
This commit is contained in:
parent
c2308a6794
commit
ca6a6fc930
@ -10,7 +10,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f
|
||||
|
||||
## Spine version
|
||||
|
||||
spine-as3 works with data exported from Spine 3.6.xx.
|
||||
spine-as3 works with data exported from Spine 3.7.xx.
|
||||
|
||||
spine-as3 supports all Spine features, including meshes. If using the `spine.flash` classes for rendering, meshes are not supported.
|
||||
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
# spine-c
|
||||
|
||||
The spine-c runtime provides basic functionality to load and manipulate [Spine](http://esotericsoftware.com) skeletal animation data using ANSI C. It does not perform rendering but can be extended to enable Spine animations for other C-based projects, including C++ or Objective-C projects.
|
||||
|
||||
For a pure C++ API, you may consider the third party Spine runtime [Chobolabs/spine-cpp](https://github.com/Chobolabs/spine-cpp).
|
||||
The spine-c runtime provides basic functionality to load and manipulate [Spine](http://esotericsoftware.com) skeletal animation data using ANSI C89. It does not perform rendering but can be extended to enable Spine animations for other C-based projects, including C++ or Objective-C projects.
|
||||
|
||||
## Licensing
|
||||
|
||||
@ -12,19 +10,20 @@ The Spine Runtimes are developed with the intent to be used with data exported f
|
||||
|
||||
## Spine version
|
||||
|
||||
spine-c works with data exported from Spine 3.6.xx.
|
||||
spine-c works with data exported from Spine 3.7.xx.
|
||||
|
||||
spine-c supports all Spine features.
|
||||
|
||||
## Setup
|
||||
|
||||
1. Download the Spine Runtimes source using [git](https://help.github.com/articles/set-up-git) or by downloading it as a zip via the download button above.
|
||||
1. Open the `spine-c.sln` Visual C++ 2010 Express project file. For other IDEs, you will need to create a new project and import the source.
|
||||
|
||||
Alternatively, the contents of the `spine-c/spine-c/src` and `spine-c/spine-c/include` directories can be copied into your project. Be sure your header search is configured to find the contents of the `spine-c/spine-c/include` directory. Note that the includes use `spine/Xxx.h`, so the `spine` directory cannot be omitted when copying the files.
|
||||
1. Copy the contents of the `spine-c/spine-c/src` and `spine-c/spine-c/include` directories into your project. Be sure your header search is configured to find the contents of the `spine-c/spine-c/include` directory. Note that the includes use `spine/Xxx.h`, so the `spine` directory cannot be omitted when copying the files.
|
||||
|
||||
If `SPINE_SHORT_NAMES` is defined, the `sp` prefix for all structs and functions is optional. Only use this if the spine-c names won't cause a conflict.
|
||||
|
||||
## Usage
|
||||
### [Please see the spine-c guide for full documentation](http://esotericsoftware.com/spine-c)
|
||||
|
||||
## Extension
|
||||
|
||||
Extending spine-c requires implementing three methods:
|
||||
@ -37,12 +36,11 @@ With these implemented, the spine-c API can then be used to load Spine animation
|
||||
|
||||
For example, `AtlasAttachmentLoader` is typically used to load attachments when using a Spine texture atlas. When `AtlasAttachmentLoader` loads a `RegionAttachment`, the attachment's `void* rendererObject` is set to an `AtlasRegion`. Rendering code can then obtain the `AtlasRegion` from the attachment, get the `AtlasPage` it belongs to, and get the page's `void* rendererObject`. This is the renderer specific texture object set by `_spAtlasPage_createTexture`. Attachment loading can be [customized](http://esotericsoftware.com/spine-using-runtimes/#attachmentloader) if not using `AtlasAttachmentLoader` or to provider different renderer specific data.
|
||||
|
||||
[spine-sfml](../spine-sfml/src/spine/spine-sfml.cpp#L39) serves as a simple example of extending spine-c.
|
||||
[spine-sfml](../spine-sfml/src/c/spine/spine-sfml.cpp#L39) serves as a simple example of extending spine-c.
|
||||
|
||||
spine-c uses an OOP style of programming where each "class" is made up of a struct and a number of functions prefixed with the struct name. More detals about how this works are available in [extension.h](spine-c/include/spine/extension.h#L2). This mechanism allows you to provide your own implementations for `spAttachmentLoader`, `spAttachment` and `spTimeline`, if necessary.
|
||||
|
||||
## Runtimes extending spine-c
|
||||
|
||||
- [spine-cocos2d-iphone](../spine-cocos2d-objc)
|
||||
- [spine-cocos2dx](../spine-cocos2dx)
|
||||
- [spine-cocos2d-objc](../spine-cocos2d-objc)
|
||||
- [spine-sfml](../spine-sfml)
|
||||
|
||||
@ -10,7 +10,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f
|
||||
|
||||
## Spine version
|
||||
|
||||
spine-cocos2d-objc works with data exported from Spine 3.6.x.
|
||||
spine-cocos2d-objc works with data exported from Spine 3.7.x.
|
||||
|
||||
spine-cocos2d-objc supports all Spine features.
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# spine-cocos2dx v3.x
|
||||
|
||||
The spine-cocos2dx runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [cocos2d-x](http://www.cocos2d-x.org/). spine-cocos2dx is based on [spine-cpp](https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-cpp).
|
||||
The spine-cocos2dx runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [cocos2d-x](http://www.cocos2d-x.org/). spine-cocos2dx is based on [spine-cpp](../spine-cpp).
|
||||
|
||||
## Licensing
|
||||
|
||||
@ -10,7 +10,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f
|
||||
|
||||
## Spine version
|
||||
|
||||
spine-cocos2dx works with data exported from Spine 3.6.xx.
|
||||
spine-cocos2dx works with data exported from Spine 3.7.xx.
|
||||
|
||||
spine-cocos2dx supports all Spine features.
|
||||
|
||||
@ -26,7 +26,7 @@ The setup for cocos2d-x differs from most other Spine Runtimes because the cocos
|
||||
4. Add the folders `spine-cpp/spine-cpp/include` and `spine-cocos2dx/src` to your header search path. Note that includes are specified as `#inclue <spine/file.h>`, so the `spine` directory cannot be omitted when copying the source files.
|
||||
|
||||
## Example
|
||||
The Spine cocos2d-x example works on Windows and Mac OS X.
|
||||
The Spine cocos2d-x example works on Windows, Mac OS X, iOS and Android.
|
||||
|
||||
### Windows
|
||||
1. Install [Visual Studio 2015 Community](https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx)
|
||||
|
||||
@ -10,7 +10,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f
|
||||
|
||||
## Spine version
|
||||
|
||||
spine-corona works with data exported from Spine 3.6.xx.
|
||||
spine-corona works with data exported from Spine 3.7.xx.
|
||||
|
||||
spine-corona supports all Spine features.
|
||||
|
||||
|
||||
@ -10,30 +10,38 @@ The spine Runtimes are developed with the intent to be used with data exported f
|
||||
|
||||
## spine version
|
||||
|
||||
spine-cpp works with data exported from spine 3.6.xx.
|
||||
spine-cpp works with data exported from spine 3.7.xx.
|
||||
|
||||
spine-cpp supports all spine features.
|
||||
|
||||
## Setup
|
||||
|
||||
1. Download the spine Runtimes source using [git](https://help.github.com/articles/set-up-git) or by downloading it as a zip via the download button above.
|
||||
2. Create a new project and import the source.
|
||||
|
||||
Alternatively, the contents of the `spine-cpp/spine-cpp/src` and `spine-cpp/spine-cpp/include` directories can be copied into your project. Be sure your header search is configured to find the contents of the `spine-cpp/spine-cpp/include` directory. Note that the includes use `spine/Xxx.h`, so the `spine` directory cannot be omitted when copying the files.
|
||||
2. Copy the contents of the `spine-cpp/spine-cpp/src` and `spine-cpp/spine-cpp/include` directories into your project. Be sure your header search is configured to find the contents of the `spine-cpp/spine-cpp/include` directory. Note that the includes use `spine/Xxx.h`, so the `spine` directory cannot be omitted when copying the files.
|
||||
|
||||
## Extension
|
||||
|
||||
Extending spine-cpp requires implementing both the SpineExtension class (which has a handy default instance) and the TextureLoader class:
|
||||
Extending spine-cpp requires implementing both the `SpineExtension` class and the TextureLoader class:
|
||||
|
||||
spine::SpineExtension::setInstance(spine::DefaultSpineExtension::getInstance());
|
||||
```
|
||||
#include <spine/Extension.h>
|
||||
void spine::SpineExtension *spine::getDefaultExtension() {
|
||||
return new spine::DefaultExtension();
|
||||
}
|
||||
|
||||
class MyTextureLoader : public TextureLoader
|
||||
class MyTextureLoader : public spine::TextureLoader
|
||||
{
|
||||
virtual void load(AtlasPage& page, const String& path) { // TODO }
|
||||
virtual void load(spine::AtlasPage& page, const spine::String& path) {
|
||||
void* texture = ... load the texture based on path ...
|
||||
page->setRendererObject(texture); // use the texture later in your rendering code
|
||||
}
|
||||
|
||||
virtual void unload(void* texture) { // TODO }
|
||||
};
|
||||
```
|
||||
|
||||
## Runtimes extending spine-cpp
|
||||
|
||||
- Coming Soon!
|
||||
- [spine-sfml](../spine-sfml/cpp)
|
||||
- [spine-cocos2dx](../spine-cocos2dx)
|
||||
- [spine-ue4](../spine-ue4)
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
# spine-js
|
||||
|
||||
spine-js has been deprecated and is superseded by [spine-ts](https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-ts). The most recent version of spine-js can be found in the [spine-js branch](https://github.com/EsotericSoftware/spine-runtimes/tree/spine-js/spine-js)
|
||||
spine-js has been deprecated and is superseded by [spine-ts](../spine-ts).
|
||||
|
||||
@ -10,7 +10,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f
|
||||
|
||||
## Spine version
|
||||
|
||||
spine-libgdx works with data exported from Spine 3.6.xx.
|
||||
spine-libgdx works with data exported from Spine 3.7.xx.
|
||||
|
||||
spine-libgdx supports all Spine features and is the reference runtime implementation.
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f
|
||||
|
||||
## Spine version
|
||||
|
||||
spine-love works with data exported from Spine 3.6.x.
|
||||
spine-love works with data exported from Spine 3.7.x.
|
||||
|
||||
spine-love supports all Spine features except for blending modes other than normal.
|
||||
|
||||
@ -26,7 +26,7 @@ Alternatively, the `spine-lua` and `spine-love/spine-love` directories can be co
|
||||
|
||||
## Notes
|
||||
|
||||
* Two enable two color tinting, pass `true` to `SkeletonRenderer.new()`.
|
||||
* To enable two color tinting, pass `true` to `SkeletonRenderer.new()`.
|
||||
|
||||
## Examples
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f
|
||||
|
||||
## Spine version
|
||||
|
||||
spine-lua works with data exported from Spine 3.6.xx.
|
||||
spine-lua works with data exported from Spine 3.7.xx.
|
||||
|
||||
spine-lua supports all Spine features.
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# spine-monogame
|
||||
|
||||
The spine-monogame runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [MonoGame](http://monogame.codeplex.com/). spine-monogame is based on [spine-xna](https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-xna) and adds MonoGame project files.
|
||||
The spine-monogame runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [MonoGame](http://monogame.codeplex.com/). spine-monogame is based on [spine-xna](../spine-xna) and adds MonoGame project files.
|
||||
|
||||
## Licensing
|
||||
|
||||
@ -10,7 +10,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f
|
||||
|
||||
## Spine version
|
||||
|
||||
spine-monogame works with data exported from Spine 3.6.xx.
|
||||
spine-monogame works with data exported from Spine 3.7.xx.
|
||||
|
||||
spine-monogame supports all Spine features.
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# spine-sfml
|
||||
|
||||
The spine-sfml runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [SFML](http://www.sfml-dev.org/). spine-sfml is based on [spine-c](../spine-c).
|
||||
The spine-sfml runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [SFML](http://www.sfml-dev.org/). spine-sfml is based on [spine-c](../../spine-c).
|
||||
|
||||
## Licensing
|
||||
|
||||
@ -10,11 +10,9 @@ The Spine Runtimes are developed with the intent to be used with data exported f
|
||||
|
||||
## Spine version
|
||||
|
||||
spine-sfml works with data exported from Spine 3.6.xx.
|
||||
spine-sfml works with data exported from Spine 3.7.xx.
|
||||
|
||||
spine-sfml supports all Spine features.
|
||||
|
||||
spine-sfml does not yet support loading the binary format.
|
||||
spine-sfml supports all Spine features except two color tinting.
|
||||
|
||||
## Usage
|
||||
1. Create a new SFML project. See the [SFML documentation](http://www.sfml-dev.org/tutorials/2.1/) or have a look at the example in this repository.
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# spine-sfml
|
||||
|
||||
The spine-sfml runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [SFML](http://www.sfml-dev.org/). spine-sfml is based on [spine-c](../spine-c).
|
||||
The spine-sfml runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [SFML](http://www.sfml-dev.org/). spine-sfml is based on [spine-c](../../spine-cpp).
|
||||
|
||||
## Licensing
|
||||
|
||||
@ -10,17 +10,15 @@ The Spine Runtimes are developed with the intent to be used with data exported f
|
||||
|
||||
## Spine version
|
||||
|
||||
spine-sfml works with data exported from Spine 3.6.xx.
|
||||
spine-sfml works with data exported from Spine 3.7.xx.
|
||||
|
||||
spine-sfml supports all Spine features.
|
||||
|
||||
spine-sfml does not yet support loading the binary format.
|
||||
spine-sfml supports all Spine features except two color tinting.
|
||||
|
||||
## Usage
|
||||
1. Create a new SFML project. See the [SFML documentation](http://www.sfml-dev.org/tutorials/2.1/) or have a look at the example in this repository.
|
||||
2. Download the Spine Runtimes source using git (`git clone https://github.com/esotericsoftware/spine-runtimes`) or download it as a zip via the download button above.
|
||||
3. Add the sources from `spine-c/spine-c/src/spine` and `spine-sfml/src/spine` to your project
|
||||
4. Add the folder `spine-c/spine-c/include` to your header search path. Note that includes are specified as `#inclue <spine/file.h>`, so the `spine` directory cannot be omitted when copying the source files.
|
||||
3. Add the sources from `spine-cpp/spine-cpp/src/spine` and `spine-sfml/src/spine` to your project
|
||||
4. Add the folder `spine-cpp/spine-cpp/include` to your header search path. Note that includes are specified as `#inclue <spine/file.h>`, so the `spine` directory cannot be omitted when copying the source files.
|
||||
|
||||
See the [Spine Runtimes documentation](http://esotericsoftware.com/spine-documentation#runtimesTitle) on how to use the APIs or check out the Spine SFML example.
|
||||
|
||||
@ -41,7 +39,7 @@ The Spine SFML example works on Windows, Linux and Mac OS X.
|
||||
11. Select `Debugging` in the left-hand list, then set `Working Directory` to `$(OutputPath)`
|
||||
12. Click `Local Windows Debugger` to run the example
|
||||
|
||||
The entire example code is contained in [main.cpp](example/main.cpp#L61)
|
||||
The entire example code is contained in [main.cpp](example/main.cpp)
|
||||
|
||||
### Linux
|
||||
1. Install the SFML dependencies, e.g. on Ubuntu/Debian via `sudo apt install libsfml-dev`
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# spine-starling
|
||||
|
||||
The spine-starling runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [Starling 2.0](http://gamua.com/starling/). spine-starling is based on [spine-as3](https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-as3).
|
||||
The spine-starling runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [Starling 2.0](http://gamua.com/starling/). spine-starling is based on [spine-as3](../spine-as3).
|
||||
|
||||
## Licensing
|
||||
|
||||
@ -10,7 +10,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f
|
||||
|
||||
## Spine version
|
||||
|
||||
spine-starling works with data exported from Spine 3.6.xx.
|
||||
spine-starling works with data exported from Spine 3.7.xx.
|
||||
|
||||
spine-starling supports all Spine features.
|
||||
|
||||
@ -41,6 +41,6 @@ The Spine AS3 example works on Windows, Linux and Mac OS X. This guide assumes y
|
||||
|
||||
## Examples
|
||||
|
||||
[Spine atlas example](spine-starling-example/src/AtlasExample.as#L21)
|
||||
[Starling atlas example](spine-starling-example/src/StarlingAtlasExample.as#L18)
|
||||
[Skin example](spine-starling-example/src/GoblinsExample.as#L21)
|
||||
- [Spine atlas example](spine-starling-example/src/AtlasExample.as#L21)
|
||||
- [Starling atlas example](spine-starling-example/src/StarlingAtlasExample.as#L18)
|
||||
- [Skin example](spine-starling-example/src/GoblinsExample.as#L21)
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
# spine-threejs
|
||||
|
||||
spine-threejs has been deprecated and is superseded by [spine-ts THREE.JS backend](../spine-ts). The most recent version of spine-threejs can be found in the [spine-threejs branch](https://github.com/EsotericSoftware/spine-runtimes/tree/spine-threejs/spine-threejs)
|
||||
spine-threejs has been deprecated and is superseded by [spine-ts THREE.JS backend](../spine-ts).
|
||||
@ -18,7 +18,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f
|
||||
|
||||
## Spine version
|
||||
|
||||
spine-ts works with data exported from Spine 3.6.xx.
|
||||
spine-ts works with data exported from Spine 3.7.xx.
|
||||
|
||||
spine-ts WebGL & Widget backends supports all Spine features.
|
||||
|
||||
|
||||
@ -8,9 +8,8 @@ namespace UnrealBuildTool.Rules
|
||||
{
|
||||
PublicIncludePaths.AddRange(new string[] { "SpinePlugin/Public", "SpinePlugin/Public/spine-cpp/include" });
|
||||
PrivateIncludePaths.AddRange(new string[] { "SpinePlugin/Private", "SpinePlugin/Public/spine-cpp/include" });
|
||||
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "RHI", "RenderCore", "ShaderCore", "ProceduralMeshComponent", "UMG", "Slate", "SlateCore" });
|
||||
OptimizeCode = CodeOptimization.Never;
|
||||
PublicDefinitions.Add("SPINE_UE4");
|
||||
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "RHI", "RenderCore", "ShaderCore", "ProceduralMeshComponent", "UMG", "Slate", "SlateCore" });
|
||||
Definitions.Add("SPINE_UE4");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
# spine-ue4
|
||||
The spine-ue4 runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [Unreal Engine 4.15+](https://www.unrealengine.com/). spine-ue4 is based on [spine-cpp](../spine-cpp).
|
||||
The spine-ue4 runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [Unreal Engine 4.18+](https://www.unrealengine.com/). spine-ue4 is based on [spine-cpp](../spine-cpp).
|
||||
|
||||
## Licensing
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"FileVersion": 3,
|
||||
"EngineAssociation": "4.19",
|
||||
"EngineAssociation": "4.17",
|
||||
"Category": "",
|
||||
"Description": "",
|
||||
"Modules": [
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# spine-xna
|
||||
|
||||
The spine-xna runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [XNA](http://msdn.microsoft.com/xna/). spine-xna is based on [spine-csharp](https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-csharp).
|
||||
The spine-xna runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [XNA](http://msdn.microsoft.com/xna/). spine-xna is based on [spine-csharp](../spine-csharp).
|
||||
|
||||
## Licensing
|
||||
|
||||
@ -10,7 +10,7 @@ The Spine Runtimes are developed with the intent to be used with data exported f
|
||||
|
||||
## Spine version
|
||||
|
||||
spine-xna works with data exported from Spine 3.6.xx.
|
||||
spine-xna works with data exported from Spine 3.7.xx.
|
||||
|
||||
spine-xna supports all Spine features.
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user