@melonjs/spine-plugin 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/README.md +13 -5
- package/build/Spine.d.ts +1 -0
- package/build/Spine.d.ts.map +1 -1
- package/build/SpinePlugin.d.ts.map +1 -1
- package/build/index.js +11 -4
- package/build/index.js.map +2 -2
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.1.0
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- Tiled integration: Spine objects can now be placed directly in Tiled maps — set the object class to "Spine" and add `atlasFile`/`jsonFile` custom properties. The plugin registers a Tiled object class on initialization via `registerTiledObjectClass("Spine", Spine)`
|
|
7
|
+
|
|
8
|
+
### Changed
|
|
9
|
+
- minimum melonJS version is now 18.3.0 — required for the Tiled object factory registry that enables placing Spine objects directly in Tiled maps
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
- Auto-detect `premultipliedAlpha` from atlas pages and set it on the SkeletonRenderer, fixing incorrect blending for PMA textures (e.g. Cloud Pot)
|
|
13
|
+
|
|
14
|
+
## 2.0.1
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
- minimum melonJS version is now 18.2.1 (loading screen race condition fix)
|
|
18
|
+
|
|
3
19
|
## 2.0.0
|
|
4
20
|
|
|
5
21
|
### Changed
|
package/README.md
CHANGED
|
@@ -30,7 +30,7 @@ A [Spine](http://en.esotericsoftware.com/spine-in-depth) 4.2 runtime integration
|
|
|
30
30
|
## Installation
|
|
31
31
|
-------------------------------------------------------------------------------
|
|
32
32
|
This plugin is already bundled with the required Spine [4.x runtime](package.json#dependencies), so there is no need to install it separately.
|
|
33
|
-
>Note: this plugin requires melonJS version 18.
|
|
33
|
+
>Note: this plugin requires melonJS version 18.3.0 or higher.
|
|
34
34
|
|
|
35
35
|
To install the plugin using npm:
|
|
36
36
|
|
|
@@ -58,8 +58,14 @@ const DataManifest = [
|
|
|
58
58
|
},
|
|
59
59
|
];
|
|
60
60
|
|
|
61
|
+
// create a new Application
|
|
62
|
+
const app = new me.Application(800, 600, {
|
|
63
|
+
parent: "screen",
|
|
64
|
+
renderer: me.video.AUTO,
|
|
65
|
+
});
|
|
66
|
+
|
|
61
67
|
// preload assets
|
|
62
|
-
me.loader.preload(DataManifest,
|
|
68
|
+
me.loader.preload(DataManifest, function() {
|
|
63
69
|
|
|
64
70
|
// create a new Spine Renderable
|
|
65
71
|
let spineAlien = new Spine(100, 100, {atlasFile: "alien.atlas", jsonFile: "alien-ess.json"});
|
|
@@ -68,9 +74,9 @@ me.loader.preload(DataManifest, async function() {
|
|
|
68
74
|
spineAlien.setAnimation(0, "death", true);
|
|
69
75
|
|
|
70
76
|
// add it to the game world
|
|
71
|
-
|
|
77
|
+
app.world.addChild(spineAlien);
|
|
72
78
|
|
|
73
|
-
}
|
|
79
|
+
});
|
|
74
80
|
```
|
|
75
81
|
>Note: use "spine" as a value for the `type` property to indicate which assets are actual Spine assets and to be loaded using the plugin
|
|
76
82
|
|
|
@@ -119,7 +125,9 @@ me.loader.preload(DataManifest, async function() {
|
|
|
119
125
|
|
|
120
126
|
| @melonjs/spine-plugin | melonJS | spine-runtime |
|
|
121
127
|
|---|---|---|
|
|
122
|
-
| v2.0
|
|
128
|
+
| v2.1.0 | v18.3.0 (or higher) | v4.2.x |
|
|
129
|
+
| v2.0.1 | v18.2.1 (or higher) | v4.2.x |
|
|
130
|
+
| v2.0.0 | v18.2.0 | v4.2.x |
|
|
123
131
|
| v1.5.x | v15.12.x — v18.0.x | v4.1, v4.2-beta |
|
|
124
132
|
|
|
125
133
|
## Questions, need help ?
|
package/build/Spine.d.ts
CHANGED
|
@@ -115,6 +115,7 @@ export default class Spine extends Renderable {
|
|
|
115
115
|
* me.game.world.addChild(spineAlien);
|
|
116
116
|
*/
|
|
117
117
|
setSkeleton(atlasFile: string, jsonFile: string): void;
|
|
118
|
+
premultipliedAlpha: any;
|
|
118
119
|
/**
|
|
119
120
|
* Flip the Spine skeleton on the horizontal axis (around its center).
|
|
120
121
|
* @param {boolean} [flip=true] - `true` to flip this Spine object.
|
package/build/Spine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spine.d.ts","sourceRoot":"","sources":["../src/Spine.js"],"names":[],"mappings":"AAWA;;;;GAIG;AACH;IAmCC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,eApCW,MAAM,KACN,MAAM,YAEd;QAA0B,SAAS;QACT,QAAQ;QACR,OAAO;KACjC,EA+FF;IAxID,gDAAQ;IACR,cAAS;IACT,0BAAO;IACP,qCAAS;IACT,oBAAe;IACf,iEAAiB;IACjB,UAAK;IACL,gCAAW;IACX,8BAAS;IACT;;;MAGE;IAEF;;;;;;;;;;;;;;;;;OAiBG;IACH,cAhBU,UAAU,CAgBP;IAqDX,QAA0B;IAC1B,YAA+C;IAC/C,gDAA4B;IAC5B,kCAAwB;IASxB,kBAAuD;IASvD,4CAA+D;IAC/D,6CAAyD;IACzD,oEAEC;IAmBF,gBAAsC;IAGrC,6BAAiC;IACjC,8BAAmC;IAcrC,0BANU,OAAO,EAQhB;IAXD;;;;OAIG;IACH,sBAFU,OAAO,CAIhB;IAMD;;;;;;;;;;;;;;;;;OAiBG;IACH,uBAfW,MAAM,YACN,MAAM,
|
|
1
|
+
{"version":3,"file":"Spine.d.ts","sourceRoot":"","sources":["../src/Spine.js"],"names":[],"mappings":"AAWA;;;;GAIG;AACH;IAmCC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,eApCW,MAAM,KACN,MAAM,YAEd;QAA0B,SAAS;QACT,QAAQ;QACR,OAAO;KACjC,EA+FF;IAxID,gDAAQ;IACR,cAAS;IACT,0BAAO;IACP,qCAAS;IACT,oBAAe;IACf,iEAAiB;IACjB,UAAK;IACL,gCAAW;IACX,8BAAS;IACT;;;MAGE;IAEF;;;;;;;;;;;;;;;;;OAiBG;IACH,cAhBU,UAAU,CAgBP;IAqDX,QAA0B;IAC1B,YAA+C;IAC/C,gDAA4B;IAC5B,kCAAwB;IASxB,kBAAuD;IASvD,4CAA+D;IAC/D,6CAAyD;IACzD,oEAEC;IAmBF,gBAAsC;IAGrC,6BAAiC;IACjC,8BAAmC;IAcrC,0BANU,OAAO,EAQhB;IAXD;;;;OAIG;IACH,sBAFU,OAAO,CAIhB;IAMD;;;;;;;;;;;;;;;;;OAiBG;IACH,uBAfW,MAAM,YACN,MAAM,QAmEhB;IA3CA,wBAEE;IA2CH;;;;OAIG;IACH,aAHW,OAAO,GACL,KAAK,CASjB;IAED;;;;OAIG;IACH,aAHW,OAAO,GACL,KAAK,CASjB;IAED;;;;;OAKG;IACH,cAJW,MAAM,MACN,QAAQ,GAAC,kBAAkB,GACzB,KAAK,CAWjB;IAED;;;;;OAKG;IACH,SAJW,MAAM,MACN,MAAM,GACJ,KAAK,CAMjB;IAED;;;;;OAKG;IACH,wBAHW,OAAO,GACL,MAAM,CA6ClB;IAgCD;;;;;;OAMG;IACH,eAFW,cAAc,GAAC,aAAa,QAoCtC;IAED;;;OAGG;IACH,gBAMC;IAWD;;;;;;OAMG;IACH,gCALW,MAAM,SACN,MAAM,SACN,OAAO,GACL,UAAU,CAYtB;IAED;;;;;;;;;OASG;IACH,yBARW,MAAM,QACN,MAAM,SACN,OAAO,GACL,UAAU,CAYtB;IAED;;;;;;;;OAQG;IACH,yBAPW,MAAM,GACJ,OAAO,CAWnB;IAED;;;;;;;OAOG;IACH,gCANW,MAAM,SACN,MAAM,SACN,OAAO,UACP,MAAM,GACJ,UAAU,CAatB;IAED;;;;;;;OAOG;IACH,yBANW,MAAM,QACN,MAAM,SACN,OAAO,UACP,MAAM,GACJ,UAAU,CAItB;IAED;;;OAGG;IACH,2BAFW,MAAM,QAIhB;IAED;;;;;OAKG;IACH,qCAJW,MAAM,mBACN,MAAM,WACN,MAAM,QAIhB;IAED;;;;;;;;;;;;;;;OAeG;IACH,wBAdW,MAAM,QAgBhB;IAED;;;;;;;OAOG;IACH,8BANW,MAAM,gBACH,MAAM,EAAA,QAkBnB;IAED;;;;;OAKG;IACH,8BAJW,MAAM,gBACN,MAAM,GACJ,UAAU,CAItB;IAED;;;;OAIG;IACH,mBAHW,MAAM,GACJ,IAAI,GAAC,IAAI,CAIrB;IAED;;;;OAIG;IACH,mBAHW,MAAM,GACJ,IAAI,GAAC,IAAI,CAIrB;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,+BAhBG;QAA4B,KAAK;QACL,SAAS;QACT,GAAG;QACH,OAAO;QACP,QAAQ;QACR,KAAK;KACjC,QAYF;IAED;;;OAGG;IACH,kCAFW,MAAM,QAIhB;IAED;;;OAGG;IACH,qBAFa,MAAM,EAAE,CAMpB;IAED;;;OAGG;IACH,gBAFa,MAAM,EAAE,CAMpB;IAED;;OAEG;IACH,uBAYC;CACD;2BA3qBwC,SAAS;4BADtB,+BAA+B;6BAF9B,gCAAgC;uBAGpB,SAAS;6BACrB,uBAAuB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpinePlugin.d.ts","sourceRoot":"","sources":["../src/SpinePlugin.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SpinePlugin.d.ts","sourceRoot":"","sources":["../src/SpinePlugin.js"],"names":[],"mappings":"AAWA;;;;GAIG;AACH;IACC,cAkBC;IALA,2BAAuD;CAMxD;uBApCgD,SAAS;yBAQjC,gBAAgB"}
|
package/build/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* melonJS Spine plugin - 2.
|
|
2
|
+
* melonJS Spine plugin - 2.1.0
|
|
3
3
|
* http://www.melonjs.org
|
|
4
4
|
* @melonjs/spine-plugin is licensed under the MIT License.
|
|
5
5
|
* http://www.opensource.org/licenses/mit-license
|
|
@@ -15459,14 +15459,14 @@ var SpineBatcher = class extends Batcher {
|
|
|
15459
15459
|
};
|
|
15460
15460
|
|
|
15461
15461
|
// src/SpinePlugin.js
|
|
15462
|
-
import { plugin } from "melonjs";
|
|
15462
|
+
import { plugin, registerTiledObjectClass } from "melonjs";
|
|
15463
15463
|
|
|
15464
15464
|
// package.json
|
|
15465
15465
|
var name = "@melonjs/spine-plugin";
|
|
15466
|
-
var version = "2.
|
|
15466
|
+
var version = "2.1.0";
|
|
15467
15467
|
var homepage = "https://www.npmjs.com/package/@melonjs/spine-plugin";
|
|
15468
15468
|
var peerDependencies = {
|
|
15469
|
-
melonjs: ">=18.
|
|
15469
|
+
melonjs: ">=18.3.0"
|
|
15470
15470
|
};
|
|
15471
15471
|
var dependencies = {
|
|
15472
15472
|
"@esotericsoftware/spine-canvas": "^4.2.108",
|
|
@@ -15597,6 +15597,7 @@ var SpinePlugin = class extends plugin.BasePlugin {
|
|
|
15597
15597
|
`${name} ${version} - spine runtime ${dependencies["@esotericsoftware/spine-core"]} | ${homepage}`
|
|
15598
15598
|
);
|
|
15599
15599
|
this.assetManager = new AssetManager3(this.app.renderer);
|
|
15600
|
+
registerTiledObjectClass("Spine", Spine);
|
|
15600
15601
|
}
|
|
15601
15602
|
};
|
|
15602
15603
|
|
|
@@ -15756,6 +15757,12 @@ var Spine = class extends Renderable2 {
|
|
|
15756
15757
|
const skeletonData = skeletonJson.readSkeletonData(
|
|
15757
15758
|
this.plugin.assetManager.require(jsonFile)
|
|
15758
15759
|
);
|
|
15760
|
+
this.premultipliedAlpha = atlas.pages.some((page) => {
|
|
15761
|
+
return page.pma;
|
|
15762
|
+
});
|
|
15763
|
+
if (this.renderer.WebGLVersion >= 1) {
|
|
15764
|
+
this.skeletonRenderer.premultipliedAlpha = this.premultipliedAlpha;
|
|
15765
|
+
}
|
|
15759
15766
|
this.skeleton = new this.runtime.Skeleton(skeletonData);
|
|
15760
15767
|
if (this.skeletonRenderer instanceof SkeletonRenderer3) {
|
|
15761
15768
|
this.skeletonRenderer.triangleRendering = skeletonData.skins.some(
|