slost
05-03-2016, 12:34 AM
แนะนำไปหาพวก example ตามบอร์ดนอกมาแกะดูครับ ผมเองยังไม่เคยลองทำเลย แหะๆ
แต่จะบอกเท่าที่ผมพอนึกออกนะครับ แบบซิมเปิลเลย เป็นโครงๆ
อ่านแล้วเอาไปประยุกต์เอาเองน่ะครับ
โดยค่าที่ใช้จะมี HP , ATK , DEF
จะผลัดกันตี นำ ATK - DEF จะได้ค่าดาเมจที่นำไปลบ HP อีกที
//////////////////////////////////////////////////////////////////////
*ส่วนนี้ไม่ค่อยเกี่ยวเท่าไหร่นัก
เริ่มจากทำให้ตัวละครที่อยู่ในแมพมาฉากต่อสู้ก่อน
เขียนโค้ดให้มันบันทึกตำแหน่งของตัวละครก่อนครับ เพื่อว่าต่อสู้เสร็จจะได้มาตำแหน่งเดิมต่อ
char_x = character.x
char_y = character.y
#สร้างตัวแปรขึ้นมา โดยอิงจากตำแหน่งของ obj character
จากนั้นก็ให้ไปสู่ room ฉากแบทเทิล
//////////////////////////////////////////////////////////////////////
ฉากแบทเทิลใน Room นี่ก็จะแบ่งเป็น 2 ส่วนหลักๆ คือ
1.กราฟฟิคตัวละคร รูปของผู้เล่น กับศัตรู เวลาโจมตี เวลาป้องกัน เวลาตาย เวลาแพ้ อะไรงี้
2.Command เป็นคำสั่งให้คลิกเพื่อออกคำสั่งให้ตัวละคร
ก่อนอื่นเราจะต้องไปเขียนสคริปต์สำหรับควบคุมการต่อสู้
ก่อนอื่นต้องเซ็ทค่าตัวละครและศัตรูในฉากก่อน
char_hp = 10 , enemy_atk = 2
อะไรก็ว่ากันไป จัดการเซ็ทให้หมดทั้ง hp , atk , def
สมมุตผมตั้ง turn โดยกำหนด 0 คือ เทิร์นผู้เล่น , 1 คือ เทิร์นศัตรู
if turn = 0 #player turn
{
damage = char_atk - enemy_def ;
enemy_hp -= damge ;
turn = 1 ;
}
if turn = 1 #enemy turn
{
damage = enemy_def - char_atk ;
char_hp -= damge ;
turn = 0 ;
}
ต่อไปจะเราจะมางงกันอีกด้วยการเขียนโค้ดทำคอมมานด์
โดยสร้าง obj มาพวก โจมตี , ใช้สกิล , หนี
สมมุติ ผมกำหนดตัวแปร command ถ้า 1 คือ โจมตี , 2 ใช้สกิล , 3 หนี
เขียนโค้ดใส่ใน obj พวกนั้นให้เวลาคลิกมันกำหนดตัวแปรขึ้นมา
if turn = 0 #player turn
{
if command = 1 #attack
{
damage = char_atk - enemy_def ;
enemy_hp -= damge ;
turn = 1 ;
}
if command = 2 #skill
{
.....
}
if command = 3 #หนี
{
....
}
}
พวก obj command ก็ทำให้มันใช้ได้เฉพาะเทิร์นเราด้วย โดยการเขียนโค้ดใส่มัน
if คลิก
{
if turn = 0
{ command = 1;}
}
ก็จะได้โครงสร้างเทิร์นเบสแบบง่ายๆละ
ต่อไปเรื่องกราฟฟิคตัวละคร
เวลามันทำคอมมานด์อะไรเราก็สั่งเปลี่ยนรูปเป็นรูปท่าทางนั้นเลยครับ
นี่คือหลักการแบบง่ายๆครับ ลองเอาไปประยุกต์ต่อนะครับ
ส่วนอื่นๆที่ยุ่งยากกว่านี้จะไม่ขอพูดถึงละกัน
//ไม่ต้องเชื่อผมมากก็ได้ ผมเขียนไปยังเบลอๆ งงเลยๆ เหอๆ
ปล.จะทำ rpg ทำไมไม่ใช้ rpg maker ละนั่น
This post was last modified: 05-03-2016, 12:41 AM by slost.
"กาก"