บทที่ 7 Low Level API (ต่อ) อ.วิวัฒน์ ชินนาทศิริกุล
การวาด Image แบบ Low Level API drawImage() ซึ่งมีรูปแบบดังนี้ drawImage(image img , int x , int y , int anchor) โดยที่ เมธอด drawImage จะกำหนดไว้ในคลาสที่ขยายจาก class Canvas เช่น class DrawingImage extends Canvas{ public void paint(Graphics g){ g.drawImage(………); }
ตัวอย่าง โปรแกรมวาด Image
ผลการทำงาน
แบบฝึกปฎิบัติ ให้นักศึกษาดัดแปลงโปรแกรมจากตัวอย่างที่กำหนด โดยวาด Image โดยใช้ Low Level API อีก 1 รูปในหน้าจอเดียวกัน
การตรวจสอบเหตุการณ์ การสร้าง MIDlet ที่ติดต่อกับ Canvas หรือ Low Level API สามารถตรวจสอบการทำงาน เช่น การกดคีย์ ปล่อยคีย์ โดยใช้เมธอดที่ใช้ ในการตรวจสอบเหตุการณ์ระดับต่ำ ดังนี้ 1. เมธอด keyPress(int keyCode) 2. เมธอด keyReleased(int keyCode) 3. เมธอด keyRepeated(int keyCode) 4. เมธอด pointerPressed(int x,int y) 5. เมธอด pointerDragged(int x,int y)
6. เมธอด pointerReleased(int x,int y) 7. เมธอด showNotify(int x,int y) 8. เมธอด hideNotify(int x,int y)
การตรวจสอบคีย์ การตรวจสอบคีย์ เช่น การกดคีย์(keyPressed) การปล่อยคีย์(keyReleased) สามารถตรวจสอบได้จากค่า keyCode ค่าตัวเลขจาก keyCode จะทำให้เราทราบว่าผู้ใช้งานกดหรือปล่อยคีย์ใด เพราะแต่ละคีย์ หรือแต่ละปุ่มที่ผู้ใช้กดหรือปล่อย จะให้ค่า keyCode ที่ไม่ซ้ำกัน MIDlet ได้แบ่งคีย์ออกมากลุ่มหนึ่ง ที่เรียกว่า Game Action ซึ่งได้แก่กลุ่มของปุ่ม Arrow Key ซึ่งการตรวจสอบค่าคีย์ในกลุ่มนี้ว่าถูกกดหรือไม่ ทำได้โดย ใช้เมธอด getGameAction()
ตัวอย่างโปรแกรมตรวจสอบการกดปุ่ม
ผลการทำงาน ผลการทำงานเมื่อคลิกปุ่ม RIGHT และ DOWN
แบบฝึกปฎิบัติ ให้นักศึกษาวาดภาพ Image บนหน้าจอมือถือ จากนั้นให้เขียนคำสั่งเพื่อเลื่อนภาพ ด้วยปุ่ม Arrow Key
แบบฝึกปฎิบัติ ดัดแปลง โปรแกรมจากตัวอย่าง โดยเพิ่มการตรวจสอบ การทำงานของปุ่มบนมือถือ ดังนี้ 1. เพิ่มทิศกทางการเคลื่อนที่ด้วยปุ่ม 1,3,7,9 2. เมื่อกดปุ่มหมายเลข 5 ให้เปลี่ยนรูปจากวงกลมเป็น รูปสี่เหลี่ยม 3. ปุ่ม * กำหนดสีพื้นเป็นสีขาว 4. ปุ่ม # กำหนดสีพื้นเป็นสีเหลือง