คำสั่งแม่ของ ATL
ATL เป็นส่วนขยายของคำสั่งอื่น ต้องอยู่ภายในบล็อกของคำสั่งที่ไปขยาย คำสั่งที่ ATL สามารถขยายได้มีดังนี้Show และ Scene
show และ scene คือคำสั่งพื้นฐานสำหรับการแสดงรูป สองคำสั่งนี้จึงรองรับลูกเล่นของรูปโดยตรง ลูกเล่นจะแสดงเมื่อใช้คำสั่งเหล่านี้ ผู้เขียนแนะนำให้ใส่ ATL ทุกอย่างในคำสั่ง show หรือ scene เนื่องจากเข้าใจและใช้งานง่ายตัวอย่างการใส่ ATL ในบล็อก show
Image
image คือคำสั่งสำหรับประกาศตัวแปรรูป เราสามารถใส่ ATL ไปพร้อมกับการประกาศตัวแปรรูปได้ แต่เนื่องจาก image เป็นคำสั่งประมวลผลล่วงหน้า (Preprocessor Directive) ซึ่งจะแซงคิวคำสั่งอื่น ทำให้ลูกเล่น ATL ในบล็อก image จึงแซงคิวคำสั่งอื่นตามไปด้วยอย่าลืมว่าคำสั่ง image เป็นเพียงคำสั่งประกาศตัวแปรรูป ไม่ใช่คำสั่งแสดงรูป ถ้าต้องการแสดงรูปต้องใช้คำสั่ง show หรือ scene แล้วตามด้วยชื่อตัวแปรรูป
ตัวอย่างการใส่ ATL ในบล็อก image
Transform
transform คือคำสั่งรูปที่เกี่ยวกับตำแหน่งรูป เช่น กำหนดให้รูปอยู่ฝั่งซ้ายของหน้าจอ สามารถใส่ ATL ที่เกี่ยวกับตำแหน่งรูปได้ แต่ผู้เขียนแนะนำให้ใช้คำสั่ง show หรือ scene แทนดีกว่า เนื่องจากสามารถรองรับลูกเล่นตำแหน่งรูปได้เหมือนกัน อีกทั้งยังใช้ง่ายและหลากหลายกว่าคำสั่ง transform ด้วยtranform เป็นคำสั่งประมวลผลล่วงหน้า (Preprocessor Directive) ซึ่งจะแซงคิวคำสั่งอื่น เหมาะสำหรับลูกเล่นที่ใช้ครั้งเดียว ถ้าไฟล์สคริปต์มีทั้งคำสั่ง image และ transform คำสั่ง transform จะทำงานก่อน เนื่องจากมีลำดับขั้นที่สูงกว่า
ตัวอย่างการใส่ ATL ในบล็อก transform
Align และ Pos: กำหนดตำแหน่งรูป
คำสั่งชุด Alignxalign คือคำสั่งระบุตำแหน่งหน้าจอ แบบอัตราส่วน ในแนวนอน โดย 0.0 คือซ้าย และ 1.0 คือขวา
yalign คือคำสั่งระบุตำแหน่งหน้าจอ แบบอัตราส่วน ในแนวตั้ง โดย 0.0 คือบน และ 1.0 คือล่าง
คำสั่งชุด Pos
xpos คือคำสั่งระบุตำแหน่งหน้าจอ แบบตามจริง ในแนวนอน ระบุเป็นพิกเซล
ypos คือคำสั่งระบุตำแหน่งหน้าจอ แบบตามจริง ในแนวตั้ง ระบุเป็นพิกเซล
คำสั่งชุด Align และ Pos ใช้สำหรับการแสดงรูปในตำแหน่งที่ระบุไว้ ต้องตามด้วยตัวเลข ความแตกต่างของคำสั่งสองชุดนี้อยู่ที่การเียกตำแหน่งบนหน้าจอ Align จะอ้างอิงจากอัตราส่วนหน้าจอ ค่าควรอยู่ระหว่าง 0.0 ถึง 1.0 ส่วนคำสั่งชุด Pos อ้างอิงจากพิกเซลจริง ในทางปฏิบัติคำสั่งสองชุดนี้ใช้ระบุตำแหน่งได้เหมือนกัน
รูปที่ 8.1 เปรียบเทียบคำสั่งชุด Align และ Pos (จอขนาดมาตรฐาน)
ตัวอย่างการใช้คำสั่งชุด Pos
รูปที่ 8.2 การใช้คำสั่งชุด Pos เพื่อแสดงรูปในตำแหน่งที่ต้องการ
Linear: เคลื่อนที่รูป
linear คือคำสั่งเคลื่อนที่รูปจากตำแหน่งปัจจุบันไปยังตำแหน่งใหม่ ต่อท้ายคำสั่งด้วยเวลาที่ใช้ในการเคลื่อนรูป ต้องใช้คู่กับคำสั่งชุด Align หรือ Pos เพื่อระบุตำแหน่งใหม่ ถ้าแสดงรูปเดิมในตำแหน่งใหม่โดยไม่ใช้คำสั่ง linear จะเป็นการลบรูปในตำแหน่งเดิม และแสดงรูปในตำแหน่งใหม่ทันที ส่วนคำสั่ง linear รูปจะมีการเคลื่อนที่ผ่านบริเวณที่อยู่ระหว่างตำแหน่งเดิมและตำแหน่งใหม่ รูปแบบของคำสั่ง linear คือตำแหน่งใหม่ต้องอยู่บรรทัดเดียวกันและต่อหลังคำสั่ง linear ถ้าอยู่คนละบรรทัดกันโปรแกรมจะมองว่าตำแหน่งใหม่เป็นการแสดงรูปแบบปกติ โปรแกรมจะลบรูปในตำแหน่งเดิม และแสดงรูปในตำแหน่งใหม่ทันที ไม่มีการเคลื่อนที่รูป
ตัวอย่างการใช้คำสั่ง linear
รูปที่ 8.3 การเคลื่อนที่รูปด้วยคำสั่ง linear
Repeat: วนซ้ำ
repeat คือคำสั่งที่วนซ้ำบล็อกนั้นตั้งแต่ต้น คำสั่งนี้ต้องอยู่บรรทัดสุดท้ายของบล็อกที่ต้องการวนซ้ำ รูปแบบของคำสั่ง repeat มี 2 แบบได้แก่ รูปแบบที่ไม่มีตัวเลขต่อท้าย จะเป็นการวนซ้ำแบบไม่สิ้นสุดและรูปแบบที่ต่อท้ายด้วยจำนวนเต็ม ตัวเลขนั้นคือจำนวนรอบที่บล็อกนั้นทำงาน (ไม่ใช่จำนวนรอบที่วนซ้ำ) เช่น repeat 3 หมายถึงบล็อกนั้นจะทำงาน 3 ครั้ง, repeat 1 หมายถึงบล็อกนั้นจะทำงาน 1 ครั้ง (ไม่วนซ้ำ) หมายความว่าจะใส่หรือไม่ใส่ repeat 1 ก็ไม่แตกต่างกันเลย
Pause: หยุดชั่วคราว
pause คือคำสั่งที่หยุดการทำงานตามเวลาที่กำหนด เหมาะสำหรับเว้นเวลาระหว่างสองคำสั่งที่อยู่ติดกัน ไม่ให้คำสั่งต่อไปทำงานทันทีเมื่อคำสั่งก่อนหน้าเสร็จสิ้น รูปแบบของคำสั่ง pause คืออันที่จริงคำสั่ง pause เป็นคำสั่งที่ใช้ได้ทุกที่ในไฟล์สคริปต์ ไม่จำเป็นต้องเป็น ATL ก็ได้ แต่ในบทนี้เราจะใช้คำสั่ง pause ในรูปแบบ ATL
ตัวอย่างการใช้คำสั่ง pause ในรูปแบบ ATL เพื่อเคลื่อนที่รูปเป็นสามเหลี่ยมโดยวนซ้ำไม่สิ้นสุด
Parallel: ทำพร้อมกัน
parallel คือคำสั่งที่ใช้แยกคำสั่งหลายชุดออกจากกัน เพื่อให้คำสั่งหลายคำสั่งสามารถทำงานได้พร้อมกัน ถ้าไม่ใช้คำสั่ง parallel คำสั่งที่อยู่ในบล็อกจะสามารถทำงานได้ทีละหนึ่งคำสั่ง ต้องรอให้คำสั่งที่กำลังทำงานอยู่เสร็จก่อน คำสั่งต่อไปจึงจะทำงานได้ รูปแบบของคำสั่ง parallel คือตัวอย่างการใช้คำสั่ง parallel เพื่อเปลี่ยนรูปขณะที่รูปกำลังเคลื่อนที่
Size และ Zoom: เปลี่ยนขนาดรูป
ทั้งคำสั่ง size และ zoom เป็นคำสั่งที่เปลี่ยนขนาดรูปตามที่กำหนด ความแตกต่างของสองคำสั่งนี้คือการใช้คำสั่ง size ต้องกำหนดเป็นขนาดรูปในหน่วยพิกเซล ส่วนคำสั่ง zoom ต้องกำหนดเป็นอัตราส่วนเทียบกับขนาดรูปต้นแบบ (เป็นกี่เท่าของรูปต้นแบบ) รูปแบบของคำสั่ง size คือรูปแบบของคำสั่ง zoom คือ
ตัวอย่างการใช้คำสั่ง zoom
รูปที่ 8.4 การขยายรูปด้วยคำสั่ง zoom
Tile: แสดงรูปซ้ำต่อกัน
xtile คือทำสั่งที่แสดงรูปซ้ำต่อกันหลายรูป ในแนวนอน รูปแบบของคำสั่ง xtile คือytile คือทำสั่งที่แสดงรูปซ้ำต่อกันหลายรูป ในแนวตั้ง รูปแบบของคำสั่ง ytile คือ
ตัวอย่างการใช้คำสั่งชุด Tile
รูปที่ 8.5 การแสดงรูปซ้ำต่อกันด้วยคำสั่งชุด Tile
Crop: ตัดรูป
crop คือคำสั่งที่ตัดรูปให้มีขนาดตามต้องการ หน่วยเป็นพิกเซล รูปแบบของคำสั่ง crop คือตัวอย่างการใช้คำสั่ง crop
รูปที่ 8.6 การตัดรูปด้วยคำสั่ง crop
ไม่มีความคิดเห็น:
แสดงความคิดเห็น