Pergunta

Eu tenho uma tag tela, eu usá-lo desenhar linhas em que, a tela é um quadrado. Eu uso o "espaço" para gravar o espaço entre duas linhas. e eu tenho canvasWidth e canvasHight para gravar o tamanho da tela, na verdade, eles são os mesmos numnber .... 320

        var x=0;
        for (var i = 0; i < 5; i++) {
            x = parseInt(x + space);

            myCanvas.fillStyle = "rgb(200,0,0)";
            myCanvas.fillRect(x, 1, 1, canvasHeight);
            myCanvas.fillStyle = "rgb(0,200,0)";
            myCanvas.fillRect(1, x, canvasWidth, 1);

        }

Eu posso usar a tirar todas as linhas vermelhas na tela, mas as linhas verdes só pode chamar dois na tela, outro simplesmente não podem aparecer, Eu costumava try {} catch, e é desaparecer nenhum erro.

Foi útil?

Solução

O navegador você está usando?

O problema não parece estar no código que você mostrou, porque ele funciona muito bem para mim.

Aqui está o meu exemplo html:

<!DOCTYPE html>
<html>
<body>
<canvas id="myCanvas" height="320" width="320" />

<script language="javascript">
var myCanvas = document.getElementById('myCanvas').getContext('2d');
var space = 10;
var x=0;
var canvasHeight = 320;
var canvasWidth = 320;
for (var i = 0; i < 5; i++) {
    x = parseInt(x + space);

    myCanvas.fillStyle = "rgb(200,0,0)";
    myCanvas.fillRect(x, 1, 1, canvasHeight);
    myCanvas.fillStyle = "rgb(0,200,0)";
    myCanvas.fillRect(1, x, canvasWidth, 1);

}
</script>

</body>
</html>

Outras dicas

Por que você usa parseInt, é a variável de espaço tem tipo de corda? Se não, tente remover parseInt.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top