如何停止无限缩放

问题描述 投票:0回答:1

我想有我的圈子缩小,然后一定规模后停止。我想的圈子留在我的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(我假设像素)的宽度,但它只是没有规模可言了。

javascript while-loop
1个回答
0
投票

它花了一些时间,但我想它了,它可能帮助别人与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);
      }
  }
© www.soinside.com 2019 - 2024. All rights reserved.