Child and Parent ใน Action Script3 by

31
Mar
0

แน่นอนว่า คนที่เคยเขียน AS2 มาก่อน ก็คงงงวยกับ AS3 ที่เขียนแตกต่างกัน อาจจะสับสนเล็กๆ ถึงมาก ในการศึกษาการ script แบบ object ใน post นี้ เราจะมาเรียนรู้เกี่ยวกับ ความสัมพันธ์ของ Child กับ Parent ซึ่งจำเป็นระดับหนึ่งในการเขียน Script ประเภทเกม โดยจะให้ตัวอย่างเป็นระบบมินิสุริยะ (ที่มีแต่ดวงอาทิตย์กับโลก แล้วก็ดวงจันทร์) ให้เข้าใจได้ง่ายขึ้น

Click เพื่อดูตัวอย่าง

อันดับแรก

1. สร้าง movie clip 3 ชั้น ชื่อว่า mySun myEarth และ myMoon

(อย่าลืมสร้างจุดแตกต่างไว้สังเกตุการหมุนด้วย)13

2. คลิกขวาที่ movie clip แล้วเลือก Linkage..

จากนั้น คลิกให้เป็นเครื่องหมายถูก หน้า Export for Actionscript และ Export in First frame ซึ่งปกติ ใน flash CS3 จะขึ้นให้อัตโนมัติ ทั้งชื่อ Class และ Base Class (การตั้งชื่อ class เราสามารถตั้งเป็นอย่างอื่นได้ แต่ตั้งให้เหมือนกับ movie clip จะได้จำง่ายๆ)

ทำให้หมดทั้ง 3 ชิ้น(ย้ำๆ)

21

3.จากนั้น เริ่มใส่สคริปกันเลย ที่เฟรมแรก(อย่าลืม ลบภาพใน stage ให้เหลือแต่ว่างๆ เพราะ script จะสร้างขึ้นมาใหม่ อาจทับกับของเก่าทำให้งงๆได้)

- กำหนดตัวแปลชนิดใหม่ ตั้งชื่อให้ว่า sun moon และ earth เป็นชนิดของ Class ที่สร้างไปก่อนหน้า(สร้างตัวแปลชื่อ sun ชนิด mySun นั่นเอง)

code_01

- เราสมมติให้ stage เราคือจักรวาล เพราะฉะนั้น ดวงอาทิตย์ต้องอยู่ใน จักรวาล (ก็สมมติว่าเป็นลูกของจักรวาล) ตั้งอยู่ที่พิกัด (200,200)

code_02

- จากนั้น โลกก็โคจรรอบดวงอาทิตย์ (ก็สมมติให้โลกเป็นลูกของดวงอาทิตย์) โดยให้มีพิกัด(140,0) อันนี้อ้างอิงจากตำแหน่งของ parent นั่นคือ sun นั่นเอง

code_03

- และ ดวงจันทร์เป็นบริวารของโลก โคจรรอบโลก ก็เป็นลูกของโลก

code_04

ลองกดดูผล Ctrl+Enter จะเห็นว่า ทั้งสามดวงเรียงกันเป็นสุริยุปราคา^^

- ต่อมาเราจะมาทำให้ทั้งสามดวงโคจรเหมือนปกติโดยการใส่ script ให้รันไปเรื่อยๆ คือตั้งแต่เริ่มเฟรม(EnterFrame) นั่นเอง

จะให้รันด้วยฟังก์ชั่น orbit ไปเรื่อยๆ

code_05

- ในส่วนของ function orbit นั้น เราจะสั่งให้ ทั้งสามดวงหมุนรอบตัวเอง เมื่อดวงอาทิตย์หมุน โลกที่เป็นลูกของดวงอาทิตย์ที่ยึดดวงอาทิตย์อยู่ ก็จะหมุนตาม เช่นเดียวกับ ดวงจันทร์ที่ก็จะหมุนตามตำแหน่งของโลกเช่นกัน แต่จะหมุนกลับอีกด้าน ถ้าเรา addchild ให้กับดวงจันทร์ก็จะเห็นว่า บริววารของดวงจันทร์ก็จะหมุนกลับตามดวงจันทร์เช่นกัน

code_06

Ctrl+Enter ได้ระบบสริยะ หมุนๆ

Note: ลองเข้าไปตรวจดูว่า จุดศูนย์กลางของ movie clip แต่ละชิ้น อยู่ตรงกลางหรือไม่ ไม่เช่นนั้นเราอาจจะเห็นมินิสุริยะที่โคจรแปลกๆ อาจจะเห็นโลกหรือดวงจันทร์เหวี่ยงไปเหวี่ยงมาได้ด้วย

เสร็จขั้นตอนนี้ ก็อาจจะเข้าใจเรื่อง child มากขึ้น

เทคนิค flash อื่นได้ที่นี่เลย : http://www.flashandmath.com

Enjoy this article?

Consider subscribing to our RSS feed!

ไม่มีความเห็น

ยังไม่มีความเห็น

ใส่ความเห็น

RSS feed for comments on this post

 เราชนะรอบ 4 | ยืมเงิน 3000 ด่วน | แอพกู้เงิน | แอพเงินด่วน | สินเชื่อออนไลน์อนุมัติทันที | Site Map | กู้เงินก้อน | กระเป๋าตัง | thisshop และ ยืมเงินฉุกเฉิน 5000 ด่วน