2

私はコーディングと P5.js での作業が初めてです。互いに数ピクセルの間隔をあけて 3 つの矢印を作成したいと思います (それらの間のスペース/距離は私にはあまり関係ありません。3 つの矢印を生成したいだけです)。

for ループ、変数、および関数を練習することでこれを実行しようとしていますが、何も機能していないため、自分でこれを複雑にしすぎている可能性があります。beginShape() を使用して矢印を作成し、頂点を設定してから、関数として設定しました。次に、関数を変数に設定し、for ループで 3 つの矢印を出力したいと思います。

私はここでクレイジーですか/私が何をしているのかわかりません/ループなどの動作に関する私のロジックは間違っていますか? 家庭教師が必要です、ハハ。どんな助けでも大歓迎です!これが私のコードです (上部のコメントアウトされたビットは、クラスの宿題の指示です) 実行すると、1 つの矢印が表示されます。

// Assignment: Study and use beginShape() and endShape() to draw 3 separate sketches. Each sketch must contain vertices //
// ( vertex() ). tools you will need: beginShape(), endShape(), vertex(), for loop //

var functionArrow = Arrow();
function setup() {
createCanvas(windowWidth, windowHeight); 
}


function draw() {
  background(255);
  Arrow()
  for (var i=Arrow; i < 500; i+=5); { //loop through to display the triangles//
  }

  function Arrow() {
  beginShape();
  vertex(180,82);
  vertex(207,36);
  vertex(214,63);
  vertex(407,11);
  vertex(412,30);
  vertex(219,82);
  vertex(223,109);
  endShape(CLOSE);

}
}
4

1 に答える 1

2

あなたは正しい道を進んでいますが、説明した方法でこれを機能させるには、いくつかのことを行う必要があります。

現在、arrow()関数は常に同じ場所に矢印を描画します。したがって、最初に行う必要があるのは、関数をパラメーター化arrow()して、指定した位置に基づいて矢印を描画することです。3 つの円を描画する小さな例を次に示します。

function drawCircles(x, y){
   ellipse(x, y - 25, 10, 10);
   ellipse(x, y, 10, 10);
   ellipse(x, y + 25, 10, 10);
}

次に、さまざまな値を使用してその関数を呼び出すことができます。

function draw(){
   drawCircles(100, 100);
   drawCircles(200, 100);
   drawCircles(300, 100);
}

for ループに入れて、ループ変数を使用してパラメーターを決定することもできます。

function draw(){
   for (var i = 100; i <= 300; i += 100) {
      drawCircles(i, 100);
   }
}

これは単なる例であることに注意してください。ただし、これにより、少なくとも正しい構文を使用できるようになるはずです。drawCircles()また、関数と同じレベルで関数を定義したことにも注意してくださいdraw()arrow()関数内に関数がありますがdraw()、これはおそらくやりたいことではありません。

于 2016-03-20T15:33:35.923 に答える