diff --git a/spine-ts/index.html b/spine-ts/index.html index 9af3d4ba6..f5daeba5d 100644 --- a/spine-ts/index.html +++ b/spine-ts/index.html @@ -26,6 +26,7 @@
  • Animation State Events
  • Skins Mix & Match
  • IK Following
  • +
  • Physics
  • Micro Benchmark
  • Pixi
  • diff --git a/spine-ts/spine-canvaskit/example/animation-state-events.html b/spine-ts/spine-canvaskit/example/animation-state-events.html index 9c6f06ed5..cbbc21018 100644 --- a/spine-ts/spine-canvaskit/example/animation-state-events.html +++ b/spine-ts/spine-canvaskit/example/animation-state-events.html @@ -18,7 +18,7 @@

    Animation State Events

    Open the console in the developer tools to view events logs.

    - + + + + + + +

    IK Following

    +

    Drag anywhere

    + + + + + + \ No newline at end of file diff --git a/spine-ts/spine-canvaskit/src/index.ts b/spine-ts/spine-canvaskit/src/index.ts index c020ad52b..86e3d3aa7 100644 --- a/spine-ts/spine-canvaskit/src/index.ts +++ b/spine-ts/spine-canvaskit/src/index.ts @@ -12,7 +12,7 @@ function toCkBlendMode(ck: CanvasKit, blendMode: BlendMode) { switch(blendMode) { case BlendMode.Normal: return ck.BlendMode.SrcOver; case BlendMode.Additive: return ck.BlendMode.Plus; - case BlendMode.Multiply: return ck.BlendMode.Modulate; + case BlendMode.Multiply: return ck.BlendMode.SrcOver; case BlendMode.Screen: return ck.BlendMode.Screen; default: return ck.BlendMode.SrcOver; } @@ -92,7 +92,11 @@ export async function loadTextureAtlas(ck: CanvasKit, atlasFile: string, readFil export async function loadSkeletonData(skeletonFile: string, atlas: TextureAtlas, readFile: (path: string) => Promise): Promise { const attachmentLoader = new AtlasAttachmentLoader(atlas); const loader = skeletonFile.endsWith(".json") ? new SkeletonJson(attachmentLoader) : new SkeletonBinary(attachmentLoader); - const skeletonData = loader.readSkeletonData(await readFile(skeletonFile)); + let data = await readFile(skeletonFile); + if (skeletonFile.endsWith(".json")) { + data = bufferToUtf8String(data); + } + const skeletonData = loader.readSkeletonData(data); return skeletonData; }