0

数週間前、配列に値を追加し、キャンバスに四角形を描画するコードを投稿しました。アイデアは、他の人が終了する長方形の描画を開始することです。幅と高さの値を入力し、ボタンをクリックして、この値を丸めて描画します。しかし、残念ながらそれは機能しません。問題は、最初の値が配列に追加されますが、次の値が追加されないことです..私は JavaScript を使用しています。これが私のコードです。どんな助けも大歓迎です。

var arrayLargo = [];
var arrayAncho = [];
var ancho = 0;
var largo = 0;

function corta() {
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var medida2 = document.getElementById('medida2').value;
var medida1 = document.getElementById('medida1').value;
  var corte1 = Math.round(medida1);
  var corte2 = Math.round(medida2);


  arrayLargo.push(corte2);
  arrayAncho.push(corte1);
  //ancho, largo


//metodo para el ancho

    for (var i = 0; i < arrayAncho.length ; i++) {
        ancho += arrayAncho[i];
    }
    if (arrayAncho.length == 1) {
        ctx.fillStyle = "#58FA58";
        ctx.fillRect(0, largo, corte1, corte2);
    }else
    if (medida1 > 122 - ancho) {
            ctx.fillStyle = "#58FA58";
            ctx.fillRect(ancho, largo, corte1, corte2);//ancho, largo
        }
    else {
        ctx.fillStyle = "#58FA58";
        ctx.fillRect(ancho, largo, corte1, corte2);//ancho, largo
    }


    medida1 = 0;
    medida2 = 0;

    /*  
   //metodo para el largo
   if (arrayLargo.length >= 1) {
    for (var i = 0; i < arrayLargo.length ; i++) {
        largo += arrayLargo[i];
        if (medida1 > 244- largo) {
            ctx.fillRect(0, largo, corte1, corte2);//ancho, largo
        }
       }
   }*/

}

ボタンをクリックすると、関数コルタが呼び出されます

4

1 に答える 1

0

有用な回答を得るのに役立ついくつかのヒント (さらに良いことに、問題を自分で解決できるようにするためのヒント)

  1. コードが何をすることを期待していて、代わりに何をしますか?
  2. エラーメッセージが表示されますか? (エラー コンソールを確認することを忘れないでください)。もしそうなら、それは何で、どの行で発生しますか?
  3. より単純な設定で問題を再現しようとしましたか? ( jsFiddleを作成すると、大きな助けになる可能性があります。) もしそうなら、結果はどうでしたか?
于 2013-02-19T16:59:25.047 に答える