context.drawImage在Chrome中运行,但在Firefox中运行

时间:2014-12-18 01:47:36

标签: javascript jquery html css google-chrome

因此,出于某种原因,我的用于显示图片的JavaScript代码仅适用于Chrome,而不适用于任何其他浏览器。

这里是JSFiddle:http://jsfiddle.net/LLy42oa0/



 var snowflakeImage = new Image('');
    snowflakeImage.ready = true;
    snowflakeImage.src = 'http://i.imgur.com/W0rqcLP.png';  

function drawSnowflakes() {
        for(var i = 0; i < snowflakesInAir.length; i++) {
            //Failsafe
            if(snowflakesInAir[i].x > canvas.width || snowflakesInAir[i].y > canvas.height) {
                i++;
            }
                context.drawImage(snowflakeImage, snowflakesInAir[i].x, snowflakesInAir[i].y);
        }
    }
&#13;
&#13;
&#13;

任何帮助将不胜感激! 我已经尝试过交换到image.onload()但是这似乎在我的gameLoop中破坏了。谢谢!

1 个答案:

答案 0 :(得分:0)

这是FireFox中产生的错误:

  

IndexSizeError:索引或大小为负数或大于允许值   量

,您可以找到针对您的问题的解决方案here,同时:

  

也要澄清。将Math.round应用于中使用的变量   .drawImage()为我解决了这个问题。好像Firefox不喜欢   分数。 - 贾斯汀·贝德里