ทำเว็บ สร้างเกมส์ รวมข่าวเกมส์

สรุป Bullet ML

172 views | 

อ้างอิงจาก BulletML Reference

BulletML พัฒนาอยู่บน XML เลยมีรูปแบบเหมือนกัน ถ้าเคยเขียน XML หรือเคยเขียน HTML มาแล้วก็คงพอจะเก็ตมาบ้าง พวกนี้จะต่างกับภาษาโปรแกรมมิ่งทั่วไปเพราะเน้นเก็บข้อมูลอย่างเดียว

เวลาจะเขียนโค้ด BulletML จะเริ่มจากใช้แท็ก <bulletml> ครอบ เช่น

<bulletml type=”none|vertical|horizontal”>

Type จะกำหนดว่ากระสุนสำหรับจอแบบไหน

โดยข้างในแท็ก <bulletml> จะแบ่งเป็น <bullet> <action> <fire>

แท็ก <bullet> ไว้สร้างกระสุน

เช่น <bullet label=”ชื่อกระสุน”>

ข้างในแท็ก <bullet> บังคับให้มี <direction> กับ <speed> โดยสามารถกำหนด <action> ได้

**หมายเหตุ** เราสามารถสร้าง <action> โดยกำหนดชื่อให้กับมัน แล้วเอามาเรียกใช้จากที่อื่นผ่าน <actionRef> ได้

——————————-

แท็ก <action> เอาไว้กำหนดรูปแบบการเคลื่อนไหว

ตั้งชื่อด้วย attribute label=”ชื่อ”

ส่วนของที่ใส่ข้างในได้ มีให้เลือกจากตรงนี้ repeat | fire | fireRef | changeSpeed | changeDirection | accel | wait | vanish | action | actionRef

โดย action แต่ละแบบก็มี Argument ที่ต้องให้ไม่เหมือนกัน ส่วนวิธีการใส่ action ก็ใส่เรียง ๆ กันมาตามลำดับเลย เช่น

<action>

<changeSpeed> (Argument ของ changeSpeed) </changeSpeed>

<wait> (Arg ของ wait) </wait>

<changeSpeed> (argument ของ changeSpeed) </changeSpeed>

</action>

แท็ก <fire> ไว้สั่งยิงกระสุน

โดยต้องให้ arg เป็น direction, speed, แล้วก็ bullet ที่จะยิง (ถ้าจะยิงตัวเองใช้ <bullet/> ถ้ายิงกระสุนอื่นใช้ <bulletRef label=”ชื่อกระสุน”>

แท็ก <changeDirection> ไว้เปลี่ยนทิศทางกระสุน

โดย arg เป็น direction และ term (จำนวนเฟรมที่ใช้ในการเปลี่ยน direction คือ เปลี่ยนช้า ๆ หรือเปลี่ยนเร็ว ๆ)

แท็ก <changeSpeed> เปลี่ยนความเร็วกระสุน

arg เป็น speed กับ term คล้าย ๆ อันบน

แท็ก <accel> เร่งความเร็ว

arg เป็น vertical, horizontal (เร่งความเร็วในแกนไหน) และ term

แท็ก <wait> รอเวลา

ใส่เลขบอกจำนวนเฟรมที่จะหยุดไปเลย เช่น <wait>5</wait> หยุด 5 เฟรม

แท็ก <vanish/> ทำให้กระสุนหายไป

แท็ก <repeat> เอาไว้สั่ง repeat การเคลื่อนไหว

โดยด้านในใส่ <times> เป็นจำนวนครั้งที่ลูป และ <action> หรือ <actionRef> เพื่อบอกว่าจะลูปอะไร

—————————————–

ต่อไปเป็นลิสต์ของแท็กต่าง ๆ ที่ใช้ในแท็กเกี่ยวกับ Action ด้านบน

แท็ก <direction> ใช้กำหนดทิศทาง โดยกำหนด type= ได้

ด้านในใส่เลของศาทิศทาง

Type: aim แปลว่าเล็งจากตำแหน่งยานเรา โดย 0 คือตรงกะยานเรา หมุนตามเข็ม

Type: absolute แปลว่าเล็งจากทิศ 12 นาฬิกา เป็น 0 หมุนตามเข็ม

Type: relative แปลว่าให้เทียบจากทิศทางที่กระสุนนี้กำลังพุ่งไป

Type: sequence แปลว่าเทียบจากทิศทางของการสั่งยิงครั้งล่าสุด

แท็ก <speed> กำหนดความเร็ว โดยกำหนด type= ได้

ด้านในใส่เลขความเร็ว

Type: relative เทียบกับความเร็วตอนนี้ของกระสุน

Type: sequence ความเร็วเทียบกับการยิงครั้งที่แล้ว (แต่ตอนใช้กับ changeSpeed นี่ไม่ชัวร์)

แท็ก <horizontal> ไว้กำหนดการเร่งความเร็วแนวนอน

ด้านในใส่เลข

กำหนด Type ได้ดังนี้

Type: relative เทียบกับความเร่งในตอนนี้ แต่ถ้าเป็น sequence -> the acceleration is changing successively (อันนี้ไม่เก็ต T^T)

แท็ก <vertical> เหมือนอันข้างบนเรย

แท็ก <term> ไว้ใส่ในแท็กอื่น ๆ ปกติเอาไว้ใช้กับจำนวน frame ที่แสดงผล

แท็ก <times> ไว้ใช้กำหนดจำนวนครั้ง ในแท็ก <repeat>

————————————–

แท็กที่เอาไว้อ้างอิงต่าง ๆ

<bulletRef label=”ชื่อกระสุน”/>

<actionRef label=”ชื่อaction”/>

<fireRef label=”ชื่อการfire” />

สามแท็กข้างบน ส่ง Parameter ข้างในได้ แบบ

<bulletRef label=”name”><param>เลข Parameter</param></bulletRef>

โดย <param> จะไปถูกใส่ใน $1, $2, $3 ถ้าเรามีการกำหนดใน bullet, action, หรือ fire อันที่เรียกใช้

—————————–

การใส่เลขในแท็กต่าง ๆ สามารถใส่ได้ทั้งเลขปกติ (60)

สมการคำนวณ (360/5)

ใส่วงเล็บได้ —> (360+5)*2

ใส่ตัวแปร $1,$2, .. สำหรับ Parameter ได้ เช่น (2+$1)*5

ใส่ $rand โดยจะสุ่มระหว่าง 0 ถึง 1

ใส่ $rank โดยจะถูกแทนที่ด้วยความยากของเกม (ระหว่าง 0 ถึง 1) –> หาที่กำหนดความยากไม่เจอ??

Random Posts



ยังไม่มีคอมเม้นท์ | คุณสามารถ โพสคอมเม้นท์ หรือ Ping


อ่านหัวข้อ “สรุป Bullet ML” แล้วชอบไม่ชอบยังไง คอมเม้นท์ด้านล่างนี้ได้เลยครับ รับรองว่าตอบทุกคอมเม้นท์