1

我已经使用 paperJS 创建了一个圆圈,现在我将为创建的圆圈应用一个撤消选项。那么如何将其保存Point {x: 537, y: 157}(这是 paperjs 中的 event.point)到数组中。

4

1 回答 1

2

如果您希望将项目从屏幕中删除,它并不像从数组中删除它们那么简单,因为它们仍将存储在children创建它们时处于活动状态的任何层的数组中(project.activeLayer如果您没有更改层)。

下面的代码创建了三个不同颜色的圆圈,将它们存储在一个数组中,然后将第二个圆圈从数组中拼接出来,最后将它从视图中移除(此处为 jsbin):

<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
  <script type="text/javascript" src="https://raw.github.com/paperjs/paper.js/master/dist/paper.js"></script>
  <script type="text/paperscript" canvas="p">
    var circleArray = [];
    circleArray.push(new Path.Circle({
        center: [20, 20],
        radius: 10,
        strokeColor: 'red'
        }));
    circleArray.push(new Path.Circle({
        center: [30, 30],
        radius: 10,
        strokeColor: 'green'
        }));
    circleArray.push(new Path.Circle({
        center: [40, 40],
        radius: 10,
        strokeColor: 'blue'
        }));
    var idOfItemToRemove = 1;
    var numberOfItemsToRemove = 1;
    var removeItems = circleArray.splice(idOfItemToRemove, numberOfItemsToRemove);
    for (var i = 0; i < removeItems.length; i++) {
        removeItems[i].remove();
    }
  </script>
</head>
<body>
  <canvas id="p" resize></canvas>
</body>
</html>
于 2013-08-04T21:27:35.117 回答