我正在使用paper.js创建一个球,并且我试图在每次点击时放大它。
所以我可以通过改变我所做的半径来轻松扩大区域,但它也使用了段来进行碰撞和物理等。
无论如何,当球首次创建时,它会应用正确的段,但是当我放大它时,我想要更多的段来补偿它的大小。
我复制了一开始就有用的代码,但是这里除了1个以0,0生成的段并且弄乱了圆圈区域之外的所有代码都适用。这是代码:
balls[0].radius = Math.sqrt((balls[0].path.area + balls[0].score)/ Math.PI);
balls[0].maxVec = 15;
balls[0].numSegment = Math.floor(balls[0].radius / 3 + 2);
balls[0].boundOffset = [];
balls[0].boundOffsetBuff = [];
balls[0].sidePoints = [];
for (var i = 0; i < balls[0].numSegment; i ++) {
balls[0].boundOffset.push(balls[0].radius);
balls[0].boundOffsetBuff.push(balls[0].radius);
balls[0].path.add(new Point());
balls[0].sidePoints.push(new Point({
angle: 360 / balls[0].numSegment * i,
length: 1
}));
}
这是js小提琴 - http://jsfiddle.net/wMQth/147/
答案 0 :(得分:2)
在添加新点之前,您需要删除路径中的现有点。
这是经过修改的fiddle。
#!/usr/bin/env groovy
pipeline {
agent any
stages {
stage('parent') {
options {
lock('resource')
}
stages {
stage('build') {
steps {
parallel(
'app1': { build("app1") },
'app2': { build("app2") },
)
}
}
stage('deploy') {
steps {
parallel(
'app1': { deploy("app1") },
'app2': { deploy("app2") },
)
}
}
}
}
}
}