วันศุกร์ที่ 20 กันยายน พ.ศ. 2556

-Class Button-




void setup() {
  size(200, 200);
  background(0);
}
Button a =new Button();     //ประกาศ object f =new Button( )ขึ้นมาเป็นButton
                                           (ซึ่งเป็นคลาสที่สร้างไว้)เป็นตัวแปรแบบ local variable
Button b =new Button("book");
void draw() {
  a.display();                        //เป็นการเรียกใช้ method ภายในฟังชันโดยกำหนดobject
                                             ที่ต้างการใช้ไว้ข้างหน้าmethod
  b.display();
}

class Button {       //เป็นการสร้างClass ขึ้นมาเพื่อเก็บData & Method
                                 ทำให้สะดวกในการใช้งานต่อไปในอนาคต
  String name;   //ประกาศ attribute name ขึ้นมาเป็นข้อความ ซึ่งเป็นตัวแปรแบบlocal variable
                                  แต่ตัวแปรนี้ method ภายในคลาสจะสามารถมองเห็นได้ด้วย
  int x, y, z;    //ประกาศ attribute x,y,z ขึ้นมาเป็นจำนวนเต้ม ซึ่งเป็นตัวแปรแบบlocal variable
                                  แต่ตัวแปรนี้ method ภายในคลาสจะสามารถมองเห็นได้ด้วย
  Button(String n) {     //constructor ใช้ในการกำหนด object
    this.name=n;
    x=100;
    y=100;
    z=55;
  }
  Button() {             //constructor defult ไม่มี parameter
    this.name="No";
    x=50;
    y=20;
    z=30;
  }
  void clicked() {   //method ที่ใช้ในการตรวจสอบพิกัดของปุ่มกับตำแหน่งที่กดเมาส์ว่าตรงกันไหม
    if (mousePressed==true&&mouseX<=x+z&&mouseX>=x&&mouseY>=y&&mouseY<=y+z) {
      println(" "+this.name);              //แสดงข้อคว่ามของปุ่มที่กด
      mousePressed=false;
    }
  }
  void display() {          //method ที่ใช้ในการแสดงภาพขึ้นCanvas
    rect(x, y, z, z);
    if (x==100) {
      fill(0);
      text("My name", x+2, y+30);
      fill(255);
    }
    a.clicked();
    b.clicked();
  }
}


//อ้างอิงคำสั่งพื้นฐานต่างๆจาก lab1 http://com5630043.blogspot.com/search/label/lab1
//อ้างอิงอธิบายฟังก์ชันจาก lab2 http://com5630043.blogspot.com/search/label/lab2

//อ้างอิงอธิบายเรื่องif-elseจาก lab3 http://com5630043.blogspot.com/search/label/lab3%20%3A%20Condition

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

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