2

我有一个这样的button1。

var Button1 = new Kinetic.Polygon({
            points: [0, 0, 0, 30, 15, 15],
            fill: 'rgb(0, 255, 0)'
        });

现在我想复制它(复制它)。我该怎么做?

我试过这个 -

    var Button2 = new Kinetic.Polygon();
    Button2 = Button1;

这不起作用,因为在画布上只绘制了一个副本。

我该怎么做?

4

3 回答 3

5

在 KineticJS 中复制对象的最简单方法是使用 clone 方法:

 var Button1 = new Kinetic.Polygon({
        points: [0, 0, 0, 30, 15, 15],
        fill: 'rgb(0, 255, 0)'
 });

 var Button2 = Button1.clone();

Button2 现在是 Button1 的精确副本

于 2013-03-21T14:53:11.047 回答
0

那这个呢:

var buttonData = {
            points: [0, 0, 0, 30, 15, 15],
            fill: 'rgb(0, 255, 0)'
        }

var Button1 = new Kinect.Polygon(buttonData);
var Button2 = new Kinect.Polygon(buttonData);

?

于 2013-03-21T11:57:47.703 回答
0

Button1 和 Button2 现在指向同一个 Kinetic 对象。

您可以尝试使用 jQuery 扩展方法

var Button2 = $.extend({}, Button1);

这将制作对象的副本。

于 2013-03-21T12:04:38.657 回答