mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
Merge branch '4.1' into 4.2-beta
# Conflicts: # spine-ts/package-lock.json # spine-ts/package.json # spine-ts/spine-canvas/package.json # spine-ts/spine-core/package.json # spine-ts/spine-phaser/package.json # spine-ts/spine-pixi/package.json # spine-ts/spine-player/package.json # spine-ts/spine-threejs/package.json # spine-ts/spine-webgl/example/drag-and-drop.js # spine-ts/spine-webgl/package.json
This commit is contained in:
commit
c90823f698
@ -70,11 +70,12 @@ class NullAttachmentLoader : public AttachmentLoader {
|
|||||||
};
|
};
|
||||||
|
|
||||||
int main(void) {
|
int main(void) {
|
||||||
String atlasFile("");
|
String atlasFile("/Users/badlogic/Desktop/basemodel-male/basemodel-male.atlas");
|
||||||
String skeletonFile("/Users/badlogic/workspaces/spine-runtimes/spine-haxe/example/assets/vine-pro.json");
|
String skeletonFile("/Users/badlogic/Desktop/basemodel-male/basemodel-male.skel");
|
||||||
String animation = "";
|
String animation = "";
|
||||||
|
String skin = "BasicBody";
|
||||||
|
|
||||||
float scale = 1.0f;
|
float scale = 0.1f;
|
||||||
SFMLTextureLoader textureLoader;
|
SFMLTextureLoader textureLoader;
|
||||||
NullAttachmentLoader nullLoader;
|
NullAttachmentLoader nullLoader;
|
||||||
Atlas *atlas = atlasFile.length() == 0 ? nullptr : new Atlas(atlasFile, &textureLoader);
|
Atlas *atlas = atlasFile.length() == 0 ? nullptr : new Atlas(atlasFile, &textureLoader);
|
||||||
@ -106,6 +107,7 @@ int main(void) {
|
|||||||
drawable.skeleton->updateWorldTransform();
|
drawable.skeleton->updateWorldTransform();
|
||||||
drawable.skeleton->setPosition(320, 590);
|
drawable.skeleton->setPosition(320, 590);
|
||||||
if (animation.length() > 0) drawable.state->setAnimation(0, animation, true);
|
if (animation.length() > 0) drawable.state->setAnimation(0, animation, true);
|
||||||
|
if (skin.length() > 0) drawable.skeleton->setSkin(skin);
|
||||||
|
|
||||||
sf::RenderWindow window(sf::VideoMode(640, 640), "Spine SFML - testbed");
|
sf::RenderWindow window(sf::VideoMode(640, 640), "Spine SFML - testbed");
|
||||||
window.setFramerateLimit(60);
|
window.setFramerateLimit(60);
|
||||||
|
|||||||
1
spine-ts/.prettierignore
Normal file
1
spine-ts/.prettierignore
Normal file
@ -0,0 +1 @@
|
|||||||
|
**/*
|
||||||
@ -206,7 +206,7 @@ export class SpinePlugin extends Phaser.Plugins.ScenePlugin {
|
|||||||
atlas = new TextureAtlas(atlasFile.data);
|
atlas = new TextureAtlas(atlasFile.data);
|
||||||
if (this.isWebGL) {
|
if (this.isWebGL) {
|
||||||
let gl = this.gl!;
|
let gl = this.gl!;
|
||||||
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, false);
|
if (GLTexture.DISABLE_UNPACK_PREMULTIPLIED_ALPHA_WEBGL) gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, false);
|
||||||
for (let atlasPage of atlas.pages) {
|
for (let atlasPage of atlas.pages) {
|
||||||
atlasPage.setTexture(new GLTexture(gl, this.game.textures.get(atlasKey + "!" + atlasPage.name).getSourceImage() as HTMLImageElement | ImageBitmap, false));
|
atlasPage.setTexture(new GLTexture(gl, this.game.textures.get(atlasKey + "!" + atlasPage.name).getSourceImage() as HTMLImageElement | ImageBitmap, false));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,21 +1,27 @@
|
|||||||
<html>
|
<html>
|
||||||
<script src="../dist/iife/spine-webgl.js"></script>
|
<script src="../dist/iife/spine-webgl.js"></script>
|
||||||
<style>
|
<style>
|
||||||
* {
|
* {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<canvas id="canvas" style="position: absolute; width: 100%; height: 100%;"></canvas>
|
<canvas
|
||||||
<div style="position: absolute; top: 1em; left: 1em; z-index: 1; color: #ccc;">
|
id="canvas"
|
||||||
<label style="margin-right: 0.5em;">Animations</label>
|
style="position: absolute; width: 100%; height: 100%"
|
||||||
<select id="animations"></select>
|
></canvas>
|
||||||
<label>PMA</label>
|
<div
|
||||||
<input type="checkbox" id="pma" checked>
|
style="position: absolute; top: 1em; left: 1em; z-index: 1; color: #ccc"
|
||||||
|
>
|
||||||
|
<label style="margin-right: 0.5em"> Animations</label>
|
||||||
|
<select id="animations"></select>
|
||||||
|
<label style="margin-right: 0.5em">Skins</label>
|
||||||
|
<select id="skins"></select>
|
||||||
|
<label>PMA</label>
|
||||||
|
<input type="checkbox" id="pma" checked />
|
||||||
</div>
|
</div>
|
||||||
<script src="drag-and-drop.js"></script>
|
<script src="drag-and-drop.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
</html>
|
||||||
</html>
|
|
||||||
|
|||||||
24
spine-ts/tsfmt.json
Normal file
24
spine-ts/tsfmt.json
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"baseIndentSize": 0,
|
||||||
|
"indentSize": 4,
|
||||||
|
"tabSize": 4,
|
||||||
|
"indentStyle": 2,
|
||||||
|
"newLineCharacter": "\r\n",
|
||||||
|
"convertTabsToSpaces": false,
|
||||||
|
"insertSpaceAfterCommaDelimiter": true,
|
||||||
|
"insertSpaceAfterSemicolonInForStatements": true,
|
||||||
|
"insertSpaceBeforeAndAfterBinaryOperators": true,
|
||||||
|
"insertSpaceAfterConstructor": true,
|
||||||
|
"insertSpaceAfterKeywordsInControlFlowStatements": true,
|
||||||
|
"insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
|
||||||
|
"insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
|
||||||
|
"insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
|
||||||
|
"insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
|
||||||
|
"insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
|
||||||
|
"insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
|
||||||
|
"insertSpaceAfterTypeAssertion": false,
|
||||||
|
"insertSpaceBeforeFunctionParenthesis": true,
|
||||||
|
"insertSpaceBeforeTypeAnnotation": false,
|
||||||
|
"placeOpenBraceOnNewLineForFunctions": false,
|
||||||
|
"placeOpenBraceOnNewLineForControlBlocks": false
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user