Javascript PIXI.JS-Graphics.drawCircle();动画似乎有一些问题

Javascript PIXI.JS-Graphics.drawCircle();动画似乎有一些问题,javascript,pixi.js,Javascript,Pixi.js,所以我决定今天开始玩Pixi.js,一切都很好,我想画780多个圆圈 <script> var stage = new PIXI.Stage(0xffffff); var container = new PIXI.DisplayObjectContainer(); var renderer = PIXI.autoDetectRenderer(window.innerWidth, window.innerHeight, {antialias: true}

所以我决定今天开始玩Pixi.js,一切都很好,我想画780多个圆圈

<script>
    var stage = new PIXI.Stage(0xffffff);
        var container = new PIXI.DisplayObjectContainer();
    var renderer = PIXI.autoDetectRenderer(window.innerWidth, window.innerHeight, {antialias: true});

    document.body.appendChild(renderer.view);

    requestAnimFrame(animate);

    stage.addChild(container);

        var graphics = new PIXI.Graphics();
        graphics.lineStyle(1, 0x000000);
        graphics.alpha = 0.05;

        var circleCountCurrent = 0;
        var circleCountMax = 1000; //781;

        var angle = 0;
        var anglSpeed = 0.025;

        var centerY = window.innerHeight / 2;
        var circleSize = 10;

        var xPos = 100;
        var xSpeed = 0.5;
        var amplitude = 20;

        container.addChild(graphics);


    function animate() 
        {
         requestAnimFrame(animate);

              var yPos; 

              if(circleCountCurrent < circleCountMax)
              {
                    yPos = centerY + Math.sin(angle) * amplitude;
                    drawCircle(xPos, yPos, circleSize);

                    angle += anglSpeed;
                    xPos += xSpeed;

                    circleCountCurrent++;

                    //console.log('xPos: ' + xPos);
              }

         renderer.render(stage);
    }

        function drawCircle(x, y, r)
        {
              graphics.drawCircle(x, y, r);
        }
</script>

var阶段=新PIXI.阶段(0xffffff);
var container=new PIXI.DisplayObjectContainer();
var renderer=PIXI.autoDetectRenderer(window.innerWidth,window.innerHeight,{antialas:true});
document.body.appendChild(renderer.view);
请求动画帧(动画);
stage.addChild(容器);
var graphics=new PIXI.graphics();
图形.线型(0x000000);
图。α=0.05;
var circleCountCurrent=0;
var circleCountMax=1000//781;
var角=0;
var anglSpeed=0.025;
var centerY=window.innerHeight/2;
var circleSize=10;
var-xPos=100;
var xSpeed=0.5;
var振幅=20;
container.addChild(图形);
函数animate()
{
请求动画帧(动画);
var-yPos;
if(circleCountCurrent
这是我的代码(不,它不是超优雅的…),我正在试图找出什么是错的。我只希望wave继续在屏幕上运行,而不是在780多次迭代后从最初的XPO开始,如下所示:

注意从波的末端到波的开始的线。它在780多次迭代后出现

如果这有帮助的话,我正在使用pixi.jsv2.2.8

任何意见都将不胜感激

祝你今天愉快


/André

您在其他机器上测试过这个吗?如果你把整个东西向上移动,线条是保持不变还是随之移动?我在另一个桌面系统上尝试过,结果是一样的,除了IE(11)中缺少回到起点的线条。我还删除了波浪计算,所以它只是在一条直线上画圆圈,结果仍然不符合预期。我确实在iphone5s上试用过,Chrome41.0.2272.56,在那里它可以正常工作。听起来像是图形卡或WebGL/Canvas实现的问题。好的。我会在PIXI论坛上发布这个页面的链接,看看他们是否对此有更多的了解。谢谢你的时间,迈克,谢谢你。:)潜在相关: