วันพุธที่ 10 กรกฎาคม พ.ศ. 2556
UFO
ต่อไปนี้ จะป็นการวาดUFO โดย function แต่มีการนำ condition เข้ามาเพิ่มเพื่อให้ ภาพสามารถเคลื่อนไหวได้ ในครั้งนี้เราจะใช้ เงื่อนไขแบบซ้อนเงื่อนไข เพื่อให้มีการเคลื่อนไหวแบบกลับไปกลับมาเหมือนค่ะ
// ส่วนนี้เป็นการประกาศ ตัวแปรแบบ Global เพราะต้องการให้void draw(),void drawStar(),void drawUFO1( ) ,void drawUFO2( ) มองเห็นตัวแปรนี้ด้วย และเพื่อให้ สามารถเปลี่ยนแปลงค่าได้
int x=70,y=70;
int a=10,b=250;
int c=0,i=0;
int e=0,j=0;
void setup(){
size(400,400);
}//function แรกของการทำงาน จะประกาศ กำหนด แต่ไม่ต้องเรียกใช้ เพราะจะเรียกใช้เองอัตโนมัติ
void draw(){
background(255);//เป็นคำสั่งที่ใช้ในการกำหนดสีของพื้นหลัง
drawStar(a);//เป็นส่วนที่เรียกใช้void drawStar()โดยรับค่า a มาใช้ใน function (แบบ parameter)
drawUFO1(x,y,c,i);//เป็นส่วนที่เรียกใช้void drawUFO1()โดยรับค่า x,y,c,i มาใช้ใน function
drawUFO2(e,j,b);//เป็นส่วนที่เรียกใช้void drawUFO2()โดยรับค่า e,j,b มาใช้ใน function
if (c<270){
c=c+1;
}else{
if(i<-270){
i=0; c=0;
}else{
i=i-1;
}
}//condition for UFO 1
if (e<130){
e=e+1;
}else{
if(j<-130){
j=0; e=0;
}else{
j=j-1;
}
}//condition for UFO 2
}//เงื่อนไขแรก UFO 1 c=c+1; ถ้า c<270 คือจะมีการเพิ่มขึ้น ทีละ 1 ขยับไปอีก 1 แต่เงื่อนไข i=i-1; ถ้า i<-270จะมีการลดลงทีละ 1 คือขยับกลับมา
void drawUFO1(int x,int y,int c,int i){
stroke(2);
fill(48,40,173);
ellipse(x+c+i,y-15,60,50);
fill(25,32,64);
ellipse(x+c+i,y,110,40);
fill(random(75),random(20),random(20));//random คำสั่งที่ใช้สุ่มค่า ในที่นี้อยู่ใน fillจะทำการ สุ่มค่าสี
ellipse(x+c+i,y,140,10);
}//ส่วนนี้จะเป็นการประกาศและกำหนด user defined function drawUFO()ฟังก์ชันที่ใช้วาดUFOโดยมีการ+ c กับ i เข้าไปเพื่อให้ ขยับไปตามเงื่อนไขที่กำหนด
void drawUFO2(int e,int j,int b){
stroke(2);
fill(190,51,219);
ellipse(x+130+e+j,b-15,60,50);
fill(40,19,44);
ellipse(x+130+e+j,b,110,40);
fill(random(67),random(18),(77));
ellipse(x+130+e+j,b,140,10);
}//ส่วนนี้จะเป็นการประกาศและกำหนด user defined function drawUFO2()ฟังก์ชันที่ใช้วาดUFOโดยมีการ+ j กับ e เข้าไปเพื่อให้ ขยับไปตามเงื่อนไขที่กำหนด
void drawStar(int a){
noStroke();
fill(random(227),random(73),random(11));
ellipse(290,57,a-5,a-5);
ellipse(40,100,a-4,a-4);
ellipse(56,290,a,a);
ellipse(200,150,a-1,a-1);
ellipse(350,289,a,a);
ellipse(89,39,a-6,a-6);
}//ส่วนนี้จะเป็นการประกาศและกำหนด user defined function drawStar()ฟังก์ชันที่ใช้วาดดาว
ป้ายกำกับ:
LAB3
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น