กลับมาพบกันอีกครั้งครับ คราวนี้จะมาเว้ากันในเรื่องของการประกาศตัวแปร ตัวแปรนั่นก็หมายถึง ตัวอะไรที่สามารถเก็บข้อมูลไว้แล้วเรียกคืน หรือเรียกใช้ได้ในภายหลัง ซึ่งถือ เป็นสิ่งสำคัญในการเขียนโปรแกรมทุกๆ โปรแกรมเลยทีเดียว
สำหรับ AS3 มีข้อจำกัดในการตั้งชื่อตัวแปรที่ต้องจำกันสักหน่อย คือ ห้ามนำหน้าชื่อด้วยตัวเลข และห้ามซ้ำกับคำสงวน สามารถใช้เครื่องหมาย dollar sign ($) และ underscore (_) ร่วมในการตั้งชื่อได้ แต่ถ้าตั้งชื่อผิดก็ไม่มีอะไรมาก เพราะ AS3 จะมอนิเตอร์ส่วนที่ผิดพลาดให้ตลอดการเขียนสคลิปอยู่แล้ว
รูปแบบของการประกาศตัวแปร มีตัวอย่างดังนี้
var myVariable:String = "Love You"
คือ ให้เริ่มต้นด้วย var หมายถึง Variable ตามด้วยชื่อตัวแปรที่ต้องการ แล้วใช้ semicolon สักหน่อย ก่อนจะตามมาด้วย Data type คือชนิด ประเภท ของตัวแปร ส่วนหลังของเครื่องหมายเท่ากับต้องเป็นข้อมูลชนิดเดียวกับ type ที่ประกาศด้วยนะครับ
Data type ตัวอย่าง
Number 3.8 จำนวนใดๆ
int -3 จำนวนเต็ม
unit 1 เฉพาะจำนวนเต็มบวก
String "Love me" ข้อความ
Boolean true True หรือ False
Array [1, 3, 8] ชุดข้อมูล
Object myObj ใช้เขียน object ใช้เอง
นอกจากนี้แล้วยังมีการเรียกใช้งานคลาสกับตัวแปร ที่เห็นได้บ่อยๆ เช่น
var myMC:MovieClip = new MovieClip();
var nav:Sprite = new Sprite();
var myButton:SimpleButton;
และอื่นๆ
ลองมาดูตัวอย่างการใช้งานกันสักหน่อยครับ
ในคราวนี้ผมจะสร้างสเตจว่างๆ ขึ้นมาก่อนครับ ต่อจากนั้นทำการ Insert New symbol (Ctrl + F8) แล้วตั้งชื่อว่า Ball พร้อมกำหนดค่าต่างๆ ตามรูปข้างล่าง
แล้วกดปุ่ม OK ต่อจากนั้นให้สร้างรูปวงกลมใช้แทนลูกบอล โดยสร้างบนหน้าต่าง scene1 > Ball ดังรูป
สร้างเสร็จให้คลิกกลับมาที่ scene1 จะพบสเตจเปล่าๆ เหมือนเดิม ให้เขียนสคลิปลงบน Time line ตามโค๊ตข้างล่างนี้
1 var
ball:MovieClip = new Ball();
2 ball.x =
ball.y = 100;
3 addChild(ball);
4 var xvel:Number =
6;
5 var yvel:Number =
-12;
6 var yacc:Number =
1;
7 addEventListener(Event.ENTER_FRAME, onLoop, false, 0, true);
8 function
onLoop(evt:Event):void{
9 ball.x +=
xvel;
10 ball.y += yvel;
11 yvel += yacc;
12 }
โดย 3 บรรทัดแรกเราใช้ในการกำหนดให้วางลูกบอลในตำแหน่ง (100,100)
บรรทัดที่ 4-6 ใช้สร้างตัวแปรเพื่อกำหนดตำแหน่งใหม่ให้กับลูกบอล
บรรทัดที่ 7-11 จะทำการเปลี่ยนตำแหน่งของลูกบอล เมื่อรันดูจะพบว่าลูกบอลมีการเคลื่อนที่ในแนวโค้งไปทางด้านขวา หากต้องการให้สูงมากๆ ให้ลองเปลี่ยนค่าตัวแปร yvel ให้ลบมากขึ้น และถ้าต้องการให้ระยะห่างมากๆ ก็เปลี่ยนค่าตัวแปร xvel ลองเขียนกันดูนะครับ
ค่อยๆ เขียนเพิ่มนะครับ น่าสนใจมาก หากแนะนำเพื่อไปใช้ในการพัฒนาเกมต่อไป