สร้างเกม - iTween (Unity3D Thailand)

          สอน Unity3D เคลื่อนที่ object ด้วย iTween- บทความนี้ เราจะมาดูการเคลื่อนที่ Object ต่างๆ ไปในตำแหน่ง Position ที่เรากำหนดเองได้โดยใช้ iTween (ซึ้งเป็น free plugin) สามารถโหลดฟรีได้ที่ Asset Store ได้เลยครับเพื่อนๆ เป็นการกำหนดให้เคลื่อนที่แบบง่ายๆนะครับ เดี๋ยวลองมาดูกันก่อนดีกว่าครับ กับ Unity3D Thailand (Thai Unity)




ถ้าคลิปไม่ขึ้นไปตามลิ้งเลยครับ http://youtu.be/qKD3OwqjlXI

          จากวิดีโอตัวอย่างด้านบนนะครับ ขั้นตอนแรกให้เราเข้าไปที่ Asset Store กันก่อนเพื่อจะไปโหลด ตัวปลักอิน iTween มาใช้กัน โดยไปที่แถบเมนูด้านบน เลือกไปที่ Windows แล้วเลือก Asset Store จะเห็นว่ามันเปิดหน้าต่างมาเป็น Asset Store ให้เรานะครับ ให้เราสมัครโดยใช้ Email ของเรา พอสมัครไปแล้ว ให้เราไปยืนยันที่ Email ครับ จากนั้นก็ login เข้าใช้งานใน Asset Store จากนั้นก็ค้นหา iTween ครับ แล้ว download มาเสร็จแล้ว ให้กด Import อีกที iTween ก็จะเข้ามาอยู่ในโปรเจ็กของเราแล้วน่ะครับ

          จากนั้นให้เราลองสร้าง Object อะไรก็ได้สักอันนึงครับ เพื่อจะลองให้มันเคลื่อนไหวครับ แล้วเราก็เขียนสคริปขึ้นมาตามโค้ดด้านล่าง แล้วก็เอาสคริปไปยัดใส่ไว้ในตัว Object ตัวนั้นครับ จากนั้นลอง Run เลยครับ


          ลองมาดูที่โค้ดกันเลยนะครับ iTween.MoveTo(); ก็จะเป็นคำสั่งที่ใช้ให้ Object นั้นๆเคลื่อนตำแหน่งนะครับ ซึ้งมันก็จะสามารถกำหนดตำแหน่ง และความไวในการเคลื่อนที่ แล้วก็สามารถตรวจสอบได้ว่า เริ่มเคลื่อนที่แล้ว หรือ กำลังเคลื่อนที่อยู่ หรือเคลื่อนที่เสร็จแล้ว ให้ทำอะไรต่อไปอีกก็ได้ครับ ภายในวงเล็บของคำสั่ง iTween.MoveTo(); 
          ลองมาดูในวงเล็บอันแรกนะครับ เป็น gameObject ซึ้งแทนตัวมันเองครับ เราจะใช้ gameObject หรือใช้ this ก็ได้นะครับ อันต่อมาเป็น iTween.Hash() เป็นการโยนเข้าฟังชั่นอีกที ซึ้งก็คือค่ารายละเอียดต่างๆที่ Object จะเคลื่อนไปยังไงนั้นเองครับ ลองมาดูแต่ละอันว่ามีอะไรบ้างครับ
  • "time" ก็คือกำหนดเวลาที่จะให้มันเคลื่อนที่ไปถึงช้าหรือไวยัง ในตัวอย่างเป็น 5f ก็คือ 5 วินาทีนั้นเองครับ
  • "x" ก็คือตำแหน่งในแกน x ที่จะให้ Object เคลื่อนไปหาครับ
  • "y" ก็คือตำแหน่งในแกน y ที่จะให้ Object เคลื่อนไปหาครับ
  • "z" ก็คือตำแหน่งในแกน z ที่จะให้ Object เคลื่อนไปหาครับ
  • "easetype" เป็นรูปแบบการเคลื่อนครับ ในตัวอย่างเป็น iTween.EaseType.spring คือจะเคลื่อนที่ไปแล้วพอถึงจุดหมายก่อนหยุดมันจะเด้งเหมือนสปริงครับ ซึ้งคำสั่งนี้มีหลายรูปแบบมาก ลองเลือกดูครับ
  • "onComplete" ก็คือเมื่อเคลื่อนที่จนเสร็จแล้วครับ ในตัวอย่างเป็น "moveDownComplete" ซึ้งเป็นการเรียกฟังชั่น moveDownComplete เมื่อเคลื่อนที่เสร็จแล้วนั้นเองครับ นอกจาก "onComplete" ก็ยังมี "onStart" , "onUpdate" และอื่นๆอีกครับ 
  • "onCompleteParam" ก็เป็นส่งค่าไปยังฟังชั่นที่เรียกใช้ ซึ้งในตัวอย่างฟังชั่น "moveDownComplete" ไม่มีการรับค่าก็เลยส่ง gameObject ไปเฉยๆครับ
  • "onCompleteTarget" ให้เราใส่ไปตามนั้นครับ

          จะมีฟังชั่น moveDownComplete() ซึ้งจะเป็นฟังที่จะแสดงผลลัพว่า "ok"  จะเห็นว่าพอเราลอง run แล้ว Object ของเราจะเคลื่อนที่ไปยังตำแหน่งและความเร็วที่เรากำหนด พอถึงจุดหมายแล้วก็จะแสดง "ok" ตามคำสั่งที่เขียนไว้ในสคริปนั้นเองครับ

          ตัวอย่างโค้ด iTween ที่ทำให้ gameObject ของเราเคลื่อนที่ไปตามตำแหน่งที่เรากำหนดนะครับ
*** ถ้าสคลิปนี้อยู่ที่กล้อง gameObject ก็คือกล้อง แล้วกล้องจะเคลื่อนที่
*** ถ้าสคลิปนี้อยู่ที่ plane gameObject ก็คือ plane  แล้ว plane จะเคลื่อนที่




สามารถอ่านบทความที่เกี่ยวข้องของเราที่นี่  >> รวมลิ้งค์บทความ สร้างเกมด้วย Unity

1 ความคิดเห็น:

ขับเคลื่อนโดย Blogger.