【问题标题】:kineticjs - drag image even when it is underneath another (background)kineticjs - 即使图像在另一个(背景)下方也可以拖动图像
【发布时间】:2013-07-11 11:01:55
【问题描述】:

使用 HTML5 和 kineticjs 我如何拖动背景图片,即使它位于另一张图片或前景下方?

我已经设置了自己的小提琴,在这里展示了我设置的 2 张图片:

http://jsfiddle.net/SkVJu/16/

拖动作品我只需要能够拖动 darth vader 图像(背景),即使它位于 yoda 图像(前景)下方

我在这里看到了这篇文章和例子:

Drag while in background in KineticJs

使用 globalCompositeOperation 在下面绘制背景,这正是我想要的形状而不是图像。

我的尝试只是在上面绘制背景(完整代码请参见小提琴)

layer.getContext().globalCompositeOperation = "destination-over";
layer.add(background);
stage.add(layer);

http://jsfiddle.net/SkVJu/21/

谁能帮忙?

更新

我现在意识到问题所在:

每次添加图像时,我都会创建一个新图层,因此 globalCompositeOperation 毫无意义。此后,我将新图层从图像加载功能中移出,现在它可以按预期工作

【问题讨论】:

  • 如果您现在可以使用它,您能否写下您的答案并将答案标记为已接受,以便我们知道问题已得到解决以及您是如何使其发挥作用的?谢谢!很好地解决了这个问题! :)

标签: html html5-canvas kineticjs


【解决方案1】:

设法解决了将图层移到每个图像功能之外并将其添加到那里的舞台,然后在每个image.onload 之后添加layer.draw();

在这里工作:

http://jsfiddle.net/SkVJu/22/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 2013-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-14
    • 1970-01-01
    相关资源
    最近更新 更多