paperJS를 사용하여 원을 만들었으므로 작성한 원에 실행 취소 옵션을 적용 할 것입니다. 그래서 내가 어떻게 배열에 Point {x: 537, y: 157}
(이것은 paperjs에 event.point입니다) 저장할 수 있습니다. 도움이 필요해.PaperJS 다차원 배열
답변
항목을 화면에서 제거하려면 항목을 만들 때 활성화 된 모든 배열의 children
배열에 여전히 저장되므로 배열에서 항목을 제거하는 것처럼 간단하지 않습니다 (project.activeLayer
레이어를 변경하지 않았습니다.)
다음 코드는 배열에서 두 번째 원을 스플 라이스 배열에 저장합니다, 다른 색상의 세 개의 원을 생성하고, 마지막으로보기 (jsbin here)에서 제거 :
<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>
빈은 http://sketch.paperjs.org/#S/pZA9T8MwEIb/yslLHTWK0o8phQF1YgIBW5rBda6NVceuzk4RqvLfcT6GgDpU4O2e13qf012ZETWyjL2f0MuKxUzaspsvgkAqkhqfiMQXPEJebHZmgpJz4ypu8BNeha+SbZ/w685AeBKNR8ogX6YxLNMiHjCJUjUug0U6AufJnnBrtQ2fZ4TlbOBtFP3Ftgq21b22IyGa//nWwbe+17fXDf7QdTdW5cvh2WP9Yd+wthcMh16MkWnqPdIQuxs59aBPA53u7s5aSeS/u+Pbld0qB0vAVahJN6DgYdqdaDRHXwU+n0cwXmCS56pIhpF3TS1rvwE (더 이상 작동하지 않는 것 =) – Christoph
당신은 당신을 의미 그것을 복제해야합니까? – Bergi
예를 들어 내가 3 개의 원을 그리면 두 번째 원을 삭제해야한다고 가정합니다. 내가 어떻게 할 수 있니? 이 배열을 배열 오른쪽에 저장하는 것만으로 가능합니다. – chiyango
@Devan 만약 그 점이 객체라면, 네가 그것들을 배열로 유지할 수있다. Object 값이 Object에 대한 참조 일 뿐이므로 여러 Array에 같은 Point를 유지할 수 있습니다. –