Home / Firebase  / เขียนเกมด้วย Unity การเก็บข้อมูลออนไลน์ขึ้น Firebase Real-Time Database

เขียนเกมด้วย Unity การเก็บข้อมูลออนไลน์ขึ้น Firebase Real-Time Database

บทเรียนการเขียนฟังก์ชันเก็บข้อมูลเข้า Firebase Real-Time Database อย่างง่ายผ่าน Unity เพื่อใช้สำหรับทำ Save หรือ Score Board ของเกมออนไลน์

ศึกษาบทเรียนก่อนหน้า: สร้างเกม Unity ร่วมกับ Firebase การใช้ Firebase Authentication

ขั้นตอนคล้ายกัน เพียงแค่เราต้องมีการตั้งค่า Database Rule ก่อนนั่นคือ:

เพื่อให้ Database ของเราเขียนไฟล์ได้ อิสระ (ซึ่งแล้วแต่เราว่าจะปรับ Rule แบบไหน) หลังจากนั้นให้เราสร้าง Form ง่ายๆ ขึ้นมาหน่อย ในตัวอย่างนี้ขอยืมงานวิจัยของ ผู้ช่วยศาสตราจารย์ ดร.วิลาวัลย์ อินทร์ชำนาญ เกี่ยวกับ Aging Society Gamification เพราะมีฟังก์ชันที่ใช้งานอยู่เกี่ยวกับ Firebase ที่น่าจะเอามาแบ่งปันกันได้ ออกแบบ Inputfield ดังนี้

ประกอบไปด้วย txt_name, txt_age, txt_height, txt_weight เก็บข้อมูล 4 ช่อง ชื่อ, อายุ, ส่วนสูง และ น้ำหนัก

ทำการ Import Custom Package เข้ามานั่นคือการใช้ Firebase SDK ซึ่งไปดาวน์โหลดได้ที่: https://firebase.google.com/download/unity

หลังจาก Import เข้ามาแล้วให้เราสร้าง GameObject ขึ้นมาใหม่ ตั้งชื่อว่า “FirebaseSystem” เพิ่ม C# เข้าไปคือ FirebaseMainScene.cs หลังจากนั้นให้เราเขียน code คือ

ประกาศ Using ดังนี้:

จะเห็นว่าเราเพิ่ม Firebase Library เข้าไป คือ

ประกาศ Global Variable เพิ่มเข้าไปใต้ Class เกี่ยวกับการรับค่า Inputfield และ สร้างตัวแปรเพื่อเก็บค่า Firebase Database Instance ตัว Reference เหมือนปกติทั่วไป สำหรับ Write Data

ดูว่า URL ของ Database ของเราอยู่ไหน กำหนดค่าไปในเมธอด Start()

หลังจากนั้นให้เราไป Implement  เมธอดใหม่ชื่อ SendData() เป็น Public

รับค่า txt_name ไปเก็บใน Node แรกแล้ว ทำ Child Node ของ age,weight,height ก็เป็นอันเสร็จครับ ส่วน PlayerPrefs จะใส่หรือไม่ใส่ก็ได้เป็นแค่การเก็บค่าผ่าน State ของ Unity สำหรับใช้ข้าม Scene ของตัวอย่างนี้เท่านั้น

เชื่อมปุ่ม UI ให้กด แล้วเกิด Action ไปที่ SendData() ก็เป็นอันจบ:

กดดูผลลัพธ์หน่อยดีกว่า:

Document จริงๆ ก็ง่ายครับ ไปอ่านต่อได้ที่: https://firebase.google.com/docs/database/unity/save-data

Comments

daydevthailand@gmail.com

<p>อาจารย์ประจำสาขาวิชาการออกแบบเชิงโต้ตอบ และการพัฒนาเกม วิทยาลัยครีเอทีฟดีไซน์ & เอ็นเตอร์เทนเมนต์เทคโนโลยี มหาวิทยาลัยธุรกิจบัณฑิตย์<br /> ,ผู้ก่อตั้ง บริษัท Daydev Co., Ltd, (เดย์เดฟ จำกัด)</p>

Review overview
NO COMMENTS

Sorry, the comment form is closed at this time.

%d bloggers like this: