用paper.js扩大球

时间:2018-04-18 22:49:15

标签: javascript html paperjs

我正在使用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/

1 个答案:

答案 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") },
                        )
                    }
                }
            }
        }
    }
}