วันพฤหัสบดีที่ 11 กรกฎาคม พ.ศ. 2556

Paintbrush (Art)



//Gobal variable  //เป็นการประกาศตัวแปรที่อยู่นอกฟังก์ชั่น เพื่อให้ครอบคลุมทุกฟังก์ชัน เป็นส่วนหนึ่งที่ทำให้ภาพเกิดการเคลื่อนไหว โดยประกาศ และกำหนดตัวแปรอยู่นอกฟังก์ชัน แล้วไปเรียกใช้ในฟังก์ชันแทน
int count = 50; //เป็นบรรทัดที่ประกาศ และกำหนดตัวแปร โดย int คือค่าของตัวแปรที่เป็นจำนวนเต็ม หลักการคือนำค่าทางด้านขวาของเครื่องหมาย = ไปใส่ให้ทางด้านซ้ายเรียกว่า Assingment Operator ในที่นี้หมายถึง นำ 50 ซึ่งเป็นจำนวนเต็ม ทางด้านขวาของเครื่องหมาย = ไปใส่ค่าให้กับตัวแปรทางด้านซ้าย คือตัวแปร count นั่นเอง
void setup () { //เป็นการประกาศฟังก์ชั่น setup ซึ่ง void ที่อยู่ข้างหน้าคือ การกำหนดว่าจะไม่มีการเรียกค่าเดิมมาใช้อีก
  size (500, 500); //เป็นการกำหนดขนาดของcanvas โดย size (ขนาดของแกนx, ขนาดของแกนy);
}
void draw () { //เป็นการประกาศฟังก์ชั่น draw ซึ่ง void ที่อยู่ข้างหน้าคือ การกำหนดว่าจะไม่มีการเรียกค่าเดิมมาใช้อีก
  background (000, 000, 000); //เป็นการเพิ่มสีให้กับพื้นหลัง โดย background(สีแดง, สีเขียว, สีน้ำเงิน); ค่าของสีแต่ละตัวมีได้สูงสุดไม่เกิน 255 และต่ำสุดที่ 000
 
  //Local variable //เป็นการประกาศตัวแปรที่อยู่ในฟังก์ชั่น เพื่อให้ใช้เฉพาะในฟังก์ชัน เป็นส่วนหนึ่งที่ทำให้ภาพเกิดการเคลื่อนไหว โดยประกาศ และกำหนดตัวแปรอยู่นอกฟังก์ชันไว้ แล้วมาเรียกใช้ในฟังก์ชันนี้
  int x = 250; //ความหมายคือ นำ 250ซึ่งเป็นจำนวนเต็ม ทางด้านขวาของเครื่องหมาย = ไปใส่ค่าให้กับตัวแปรทางด้านซ้าย คือตัวแปร x นั่นเอง
  int r1 = 100;
  int r2 = 200;
 
  //draw conceal วาดฉากสีดำข้างหลังที่ซ่อนไว้
  stroke (020, 020, 020); //คือคำสั่งเกี่ยวกับการเติมสีเส้น โดย stroke (ค่าของสีแดง, ค่าของสีเขียว, ค่าของสีน้ำเงิน);
  strokeWeight (2); //เป็นการกำหนดความหนาของเส้น โดยstrokeWeight(ค่าความหนาของเส้น);
  fill (000, 000, 000);  //เป็นการเติมสีให้กับรูปร่างที่เราสร้าง โดยfill(ค่าของสีแดง, ค่าของสีเขียว, ค่าของสีน้ำเงิน);
  ellipse (x, 250, count+250, count+250);  //คือคำสั่งที่ใช้ในการวาดรูปทรงกลม หรือทรงรีก็ได้ โดย ellipse (ค่าxที่เป็นจุดศูนย์กลางวงกลม, ค่าyที่เป็นจุดศูนย์กลางวงกลม, ขนาดความยาวของวงกลมตามแกนx, ขนาดความยาวของวงกลมตามแกนy); ถ้าขนาดความยาวของวงกลมตามแกนx กับ ขนาดความยาวของวงกลมตามแกนy เท่ากันจะเป็นวงกลม แต่ถ้าไม่จะเป็นวงรี
 
  //draw Body Paintbrush วาดด้ามจับของพู่กัน
  stroke (255, 255, 000);
  strokeWeight (5);
  fill (102, 051, 000);
  ellipse (x, 300, 30, 300);
 
  //draw Head Paintbrush วาดขนแปรงของพู่กัน
  stroke (255, 255, 153);
  strokeWeight (5);
  fill (255, 255, 255);
  ellipse (x, 150, 50, 100);
  stroke (255, 255, 153);
  noFill (); //คือคำสั่งที่ใช้ยกเลิกการเติมสีให้กับรูปร่าง
  curve (x-50, r1, x, r1, x, r2, x+100, r2); //เป็นคำสั่งที่ใช้สร้างเส้นโค้ง โดย curve (จุดxเริ่มต้นกำหนดความโค้ง, จุดyเริ่มต้นกำหนดความโค้ง, จุดแรกที่จะเริ่มวาดโค้งพิกัดx, จุดแรกที่จะเริ่มวาดโค้งพิกัดy, จุดสุดท้ายที่จะเริ่มวาดโค้งพิกัดx, จุดสุดท้ายที่จะเริ่มวาดโค้งพิกัดy, จุดxสิ้นสุดกำหนดความโค้ง, จุดyสิ้นสุดกำหนดความโค้ง);
  curve (x, r1, x, r1, x, r2, x+300, r2);
  curve (x, r2, x, r1, x, r2, x-200, r2);
 
  //draw Junction วาดเส้นที่เชืิ่อต่อระหว่างขนแปรงกับด้ามพู่กัน
  stroke (051, 051, 051);
  strokeWeight (10);
  line (x-15, r2, x+15, r2); //เป็นการสร้างเส้น โดย line (ค่าพิกัดจุดเริ่มของx, ค่าพิกัดจุดเริ่มของy, ค่าพิกัดจุดสิ้นสุดของx, ค่าพิกัดจุดสิ้นสุดของy); แต่ในกรณีนี้ใช้การกำหนดค่าเพิ่มขึ้น หรือลดลง จากตัวแปรที่มีอยู่ แทนการใส่ค่าไปตรงๆ เพื่อสะดวกในการปรับเปลี่ยน
 
  //draw Color วาดสีสันต่างๆ รอบๆ พู่กัน
  stroke (255, 255, 255);
  strokeWeight (5);
  fill (255, 000, 102);
  ellipse (50, 50, count, count);
 
  fill (204, 000, 255);
  ellipse (450, 50, count, count);
 
  fill (051, 255, 255);
  ellipse (100, 100, count, count);
 
  fill (153, 255, 000);
  ellipse (400, 100, count, count);
 
  fill (255, 255, 000);
  ellipse (450, 450, count, count);
 
  fill (255, 102, 000);
  ellipse (50, 450, count, count);
 
  fill (255, 0, 0);
  ellipse (400, 400, count, count);
 
  fill (000, 000, 255);
  ellipse (100, 400, count, count);
 
  count = count+1; //เป็นการกำหนดค่า ให้ตัวแปรที่เป็นGobal เปลี่ยน เพื่อให้เกิดการเคลื่นไหว
  if (count > 500){
    count = 50;
  } //เป็นการสร้างเงื่อนไข ให้กับการเคลื่อนที่ โดยที่ if (กำหนดค่าที่เปลี่ยนแปลงไปภายใต้เงื่อนไข) { กำหนดค่าที่ต้องการให้เปลี่ยนเมื่อเงื่อนไขสมบรูณ์; }โดยในที่นี้หมายถึง ถ้า ค่าในตัวแปร count มากกว่า 500 ให้ count มีค่าเท่ากับ 50
 
}

ไม่มีความคิดเห็น:

แสดงความคิดเห็น