คำถามติดแท็ก serialization

9
ฉันจะสร้างไฟล์บันทึกสำหรับเกม C ++ ได้อย่างไร
ฉันกำลังเขียนโค้ดขั้นสุดท้ายสำหรับหลักสูตรการเขียนโปรแกรมวิดีโอเกมและฉันต้องการทราบวิธีสร้างไฟล์บันทึกสำหรับเกมของฉันเพื่อให้ผู้ใช้สามารถเล่นได้แล้วกลับมาใหม่ในภายหลัง ความคิดใด ๆ ที่ทำสิ่งนี้ทุกสิ่งที่ฉันทำมาก่อนเป็นโปรแกรมที่ทำงานครั้งเดียว

3
ฉันควรใช้ไฟล์ข้อความสำหรับบันทึกข้อมูลของฉันหรือไม่
คำถามของฉันคือฉันควรใช้ไฟล์ข้อความเพื่อบันทึกข้อมูลเกมของฉันหรือไม่ ฉันมีความกังวลพื้นฐานเกี่ยวกับการทำเช่นนี้: ไม่มีวิธีใดในการปกป้องข้อมูลดังนั้นผู้ใช้สามารถทำให้หมดทุกอย่างถ้าพวกเขาแตะมันและฉันไม่ต้องการให้เกิดขึ้น อาจไม่ใช่วิธีที่มีประสิทธิภาพที่สุดในการจัดเก็บข้อมูลของฉัน (จะมีจำนวนมาก) ฉันรู้วิธีแยก / เขียนไฟล์ข้อความอย่างมีประสิทธิภาพ แต่สำหรับการทำต้นแบบพวกเขายอดเยี่ยม ฉันแค่ต้องการมองไปสู่อนาคตสำหรับสิ่งที่ฉันควรจะคิดเกี่ยวกับการเปลี่ยนไปใช้เพื่อที่จะไม่เจาะฉันในหน้าใกล้สิ้นสุดการพัฒนา หากฉันไม่ควรใช้ไฟล์ข้อความฉันควรใช้อะไรดี ฉันต้องการบางสิ่งบางอย่างที่รองรับ C ++

8
โซลูชั่นที่ดีสำหรับการทำให้เป็นอนุกรมใน C ++ คืออะไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันอยากรู้ว่าผู้พัฒนาเกมมีวิธีแก้ปัญหาอย่างไรสำหรับการเรียงลำดับข้อมูลประเภทต่างๆที่พวกเขาจัดการกับเกมของพวกเขา พวกคุณใช้ลำดับชั้นของ GameObject แบบเสาหินที่มีอินเตอร์เฟซการทำให้เป็นอนุกรมสำหรับประเภทที่ได้รับมาใช้การเรียงลำดับของโซลูชันที่ใช้ RTTI ที่กำหนดเองทำการสตรีมเป็นอันดับอย่างชัดเจนสำหรับบางคลาสหรือใช้โซลูชันโอเพนซอร์สบางส่วน ฯลฯ )

8
การแปลงเส้นโค้ง 2D เป็นจุดสำหรับการจัดเก็บข้อมูล
ฉันได้สร้างอัลกอริทึมที่แปลงเส้นโค้งใด ๆ เช่นเส้นทางเป็นจำนวนจุดต่ำสุดเพื่อให้ฉันสามารถบันทึกลงในไฟล์หรือฐานข้อมูล วิธีนี้ง่ายมาก: มันขยับสามจุดในขั้นตอนที่เท่ากันและวัดมุมระหว่างเส้นที่จุดเหล่านี้ก่อตัวขึ้น หากมุมมีขนาดใหญ่กว่าค่าความคลาดเคลื่อนก็จะสร้างเส้นโค้งลูกบาศก์ใหม่ไปยังจุดนั้น จากนั้นมันจะเลื่อนเส้นไปข้างหน้าและวัดมุมอีกครั้ง ... สำหรับผู้ที่รู้ว่า Android Path Class - โปรดทราบว่าdstPathเป็นคลาสที่กำหนดเองซึ่งบันทึกคะแนนลงใน Array เพื่อให้ฉันสามารถบันทึกคะแนนในภายหลังในขณะที่srcPathเป็นผลมาจากการรวมกันของภูมิภาคดังนั้นจึงไม่มีประเด็นสำคัญสำหรับฉัน เพื่อบันทึก. ปัญหาคือว่าวงกลมดูไม่ราบรื่นอย่างที่คุณเห็นในภาพนี้ผลิตโดยโค้ดด้านล่างซึ่งเส้นทางที่มาประกอบด้วยวงกลมและสี่เหลี่ยมผืนผ้าที่สมบูรณ์แบบ ฉันพยายามเปลี่ยนมุมความอดทนและความยาวของก้าว แต่ไม่มีอะไรช่วย ฉันสงสัยว่าคุณสามารถแนะนำการปรับปรุงอัลกอริทึมนี้หรือแนวทางอื่น แก้ไข: ฉันได้โพสต์รหัสทั้งหมดสำหรับผู้ที่ใช้ Android java เพื่อให้พวกเขาสามารถลองและทดลองได้อย่างง่ายดาย public class CurveSavePointsActivity extends Activity{ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new CurveView(this)); } class CurveView extends View{ Path srcPath, dstPath; Paint srcPaint = …

2
วิธีการทำให้ฟิลด์มองเห็น (สิ่งที่แนบได้) ในตัวตรวจสอบ แต่ไม่สามารถเข้าถึงได้ด้วยรหัส (ส่วนตัว - เหมือน)?
สมมติว่าผมมีชื่อตัวแปรbuttonชนิดซึ่งเป็นหลักสูตรButtonSystem.Serializable ฉันต้องการตัวแปรนั้นสามารถกำหนดได้ผ่านทางผู้ตรวจสอบดังนั้นฉันจึงทำมันpublic: public class SomeScript : MonoBehaviour{ public Button button; } ซึ่งให้ฉันว่า: ตอนนี้ฉันต้องการรักษารหัสให้สะอาดและปลอดภัย (จัดระเบียบ) และมีเหตุผลที่แท้จริงว่าทำไมฉันจึงต้องรักษาความห่อหุ้มไว้ ฉันรู้ว่ามีหลายวิธีในการดึงส่วนประกอบบนรันไทม์เช่นtransform.Find("Some/Genius/TypeUnsafe/Path")หรือGameObject.Find("3 seconds scene iteration").GetComponent(...).ฉันต้องการที่จะหลีกเลี่ยง ฉันจะผสมตัวแปรเข้าprivate accessกับpublic accessตัวตรวจสอบได้อย่างไร

3
ฉันจะจัดการกับการเปลี่ยนแปลงเวอร์ชันเมื่อบันทึกเนื้อหาได้อย่างไร
ตอนนี้ฉันทำงานเป็น RPG มาระยะหนึ่งแล้วฉันใช้เทคนิคการทำให้เป็นอันดับสองแบบที่ต่างกัน ศัตรูอาวุธรายการถูกบันทึกเป็น XML แผนที่และกิจกรรมจะได้รับการบันทึกเป็น "ไบนารีที่ควบคุม" (ทุกคลาสจะได้รับวิธีการบันทึก / โหลดและพวกเขาเลือกสิ่งที่พวกเขาต้องการที่จะบันทึก / โหลด) แต่ฉันเริ่มถามตัวเลือกของฉันสำหรับแผนที่และกิจกรรมต่างๆ ความกังวลของฉัน: ฉันได้สร้างโปรแกรมแก้ไขแผนที่ แต่ฉันก็ยังพลาดที่จะเปลี่ยนสิ่งเล็ก ๆ น้อย ๆ เพียงแค่เปิดไฟล์ เปลี่ยนระเบียบมากขึ้น บอกว่าฉันต้องการเพิ่มตัวแปรให้คลาสถ้าฉันไม่โหลด / บันทึกทุกแผนที่อีกครั้งมันจะแตกภายหลัง ข้อกังวลแรกนั้นยากที่จะแก้ไขโดยไม่ต้องเปลี่ยนเทคนิคของฉัน ฉันคิดว่าจะเปลี่ยนเป็น JSON แต่มันทำงานได้มากมาย ฉันคิดว่ามันดูน่าเกลียดด้วยแอตทริบิวต์ [DataContract] และ [DataMember] ทุกที่ ที่ทิ้งฉันด้วยความกังวลที่สองของฉันและฉันสงสัยว่าฉันจะจัดการกับมันได้อย่างไร คุณสร้างโปรแกรมขนาดเล็กที่วนรอบแผนที่ทั้งหมดและบันทึกใหม่ด้วยตัวแปรใหม่หรือไม่? เพราะฉันเริ่มได้แผนที่มาสองสามตอนแล้วและฉันก็ยังทำมันเอง มันทำให้ฉันคิดว่าสองครั้งทุกครั้งที่ฉันต้องการเปลี่ยนแปลงบางอย่างเนื่องจากมันสร้างงานพิเศษมากมาย
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.