私はKinetic JSにかなり慣れていません。私が持っているプロジェクトの 2 つの部分でいくつかの .globalCompositeOperation を動作させようとしています。「drawFunc」や「sceneFunc」などを使用して、ここで見つけることができるいくつかの解決策を試しましたが、これまでのところ運がありません。
プロジェクトの一部 'destination-out' を kinetic.Sprite で動作させようとしています:
var strokesSprite = new Kinetic.Sprite({
image: e,
animation: 'intro',
animations: {
'intro': config.spritestrokes.frames
},
frameRate: 7,
frameIndex: 0,
sceneFunc: function (ctx) {
ctx.save();
ctx.globalCompositeOperation = 'destination-out';
ctx.restore();
}
var strokes = new Kinetic.Layer({
width: 1280,
height: 1280,
x: stage.getWidth() / 2,
y: stage.getHeight() / 2,
offset: {
x: 1280 / 2,
y: 1280 / 2
}
});
strokes.add(backgroundPainted);
strokes.add(strokesSprite);
strokes.draw();
stage.add(strokes);
「backgroundPainted」は Kinetic.Image です。
残念ながら、ここで得られるのは、「backgroundPainted」の上でアニメーション化されているスプライトレイヤーだけですが、複合操作は適用されていません:(。
私が持っている2番目のインスタンスでは、実際には非常に似ています.2つのレイヤーがあり、両方とも内部に形状があり、ステージに追加されています. 上のレイヤーに同じ「sceneFunc」を適用してから描画します。レイヤーは両方とも表示され、コンポジションは適用されません。:(
私が何を見なければならないかについての指針はありますか?たとえば、'drawFunc' が最近 'sceneFunc' に変更されたことがわかります。スタック上でここで見つけることができるほとんどすべての例を試したので、他の何かが変更された可能性があります。
ありがとう