mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-04 14:24:53 +08:00
clipping mask vertices fix
in the case of weighted vertices on clipping attachments, we were previously using the length of the vertices array, which is not the same as the worldVerticesLength example clipping attachment data: "vertexCount": 4, "vertices": [ 1, 15, -47.71, 34.91, 1, 1, 18, -47.86, -35.06, 1, 1, 17, 47.8, -34.9, 1, 1, 16, 47.81, 34.87, 1 ], resulting vertices length would be 12 we actually needed 8 the result is an array with 8 correct numbers and 4 trailing numbers from the vertices array
This commit is contained in:
parent
c6614d7db7
commit
dfa6098aa6
@ -341,7 +341,7 @@ export class Spine extends Container {
|
|||||||
if (!pixiMaskSource.computed) {
|
if (!pixiMaskSource.computed) {
|
||||||
pixiMaskSource.computed = true;
|
pixiMaskSource.computed = true;
|
||||||
const clippingAttachment = pixiMaskSource.slot.attachment as ClippingAttachment;
|
const clippingAttachment = pixiMaskSource.slot.attachment as ClippingAttachment;
|
||||||
const world = Array.from(clippingAttachment.vertices);
|
const world = new Array(clippingAttachment.worldVerticesLength);
|
||||||
clippingAttachment.computeWorldVertices(pixiMaskSource.slot, 0, clippingAttachment.worldVerticesLength, world, 0, 2);
|
clippingAttachment.computeWorldVertices(pixiMaskSource.slot, 0, clippingAttachment.worldVerticesLength, world, 0, 2);
|
||||||
mask.clear().lineStyle(0).beginFill(0x000000).drawPolygon(world);
|
mask.clear().lineStyle(0).beginFill(0x000000).drawPolygon(world);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user