我想有我的圈子缩小,然后一定规模后停止。我想的圈子留在我的paper.js画布,所以用户可以创造一种艺术的声音图像渲染。
我一直在使用过程中,通过每个新创建的圈子迭代的阶段,在我的代码结束while循环尝试。
var circles = [];
function onKeyDown(event) {
if (keyData[event.key]){
var maxPoint = new Point(view.size.width, view.size.height);
var randomPoint = Point.random();
var point= maxPoint*randomPoint;
var newCircle = new Path.Circle(point, 500);
newCircle.fillColor = keyData[event.key].color;
keyData[event.key].sound.play();
circles.push(newCircle);
}
else {
}
}
function onFrame(event){
for(var i = 0; i<circles.length; i++) {
while ( circles[i].width> 50)
{
circles[i].fillColor.hue += 1;
circles[i].scale(0.9)
}
// circles[i].fillColor.hue += 1;
//circles[i].scale(0.9)
}
}
我想这给我的圈子与50 paper.js(我假设像素)的宽度,但它只是没有规模可言了。
它花了一些时间,但我想它了,它可能帮助别人与Paper.js挣扎。功能onFrame基本上运行60次,如环。因此,使用时在一个循环中,存在着太多的循环。使用If语句是一个更好的选择。
此外,还必须在Paper.js找到合适的大小属性,并与元素联系起来。路径没有大小属性链接到它,但它可以采取界限。和边界的宽度属性。
功能onFrame(事件){对于(VAR I = 0;我
console.log("\nbefore= " + circles[i].bounds.width);
if(circles[i].bounds.width> 80){
circles[i].fillColor.hue += 6;
circles[i].scale(0.95)
}
console.log("after = " + circles[i].bounds.width);
}
}