関数-応用1

問題

複数の関数を定義して、それらを組み合わせた処理を実装してください:

  • setup() 関数で:
    • 幅×高さのキャンバス でキャンバスを作成してください
  • グローバル変数 int x = 20 を宣言してください
  • 自作関数として void drawCar(float carX, float carY, float d) を定義してください:
    • 赤色(RGB: 255, 0, 0)の矩形(幅 d、高さ d)を座標 (carX, carY) に描画してください
    • 赤色(RGB: 255, 0, 0)の矩形(幅 d/2、高さ d/2)を座標 (carX-d/2, carY+d/2) に描画してください
    • 赤色(RGB: 255, 0, 0)の矩形(幅 d/2、高さ d/2)を座標 (carX+d, carY+d/2) に描画してください
    • 黒色(RGB: 0, 0, 0)の円(直径 d/2)を座標 (carX, carY+d) に描画してください
    • 黒色(RGB: 0, 0, 0)の円(直径 d/2)を座標 (carX+d, carY+d) に描画してください
  • draw() 関数で毎フレーム:
    • 背景色を設定 で白い背景を描画してください
    • drawCar(mouseX, mouseY, 40) でマウス位置に車を描画してください
    • drawCar(40, 20, 50) で左上に車を描画してください
    • drawCar(width-80, 20, 50) で右上に車を描画してください
    • drawCar(40, height-80, 50) で左下に車を描画してください
    • drawCar(width-80, height-80, 50) で右下に車を描画してください
ヒントを見る
  • size(幅, 高さ): キャンバスのサイズを設定
  • background(赤, 緑, 青): 背景色を設定(RGB値)
  • 同じ形状を何度も描画する場合、関数を定義することで効率化できます
  • 関数の引数で座標やサイズを指定することで、異なる位置・大きさで描画できます
  • グローバル変数と関数の組み合わせで、複数の図形を管理できます

実行例