سؤال

أقوم بإنشاء لعبة بسيطة للاعبين في XNA وبدأت في البحث عن حفظ النتائج العالية للاعب.

أريد أن تعمل اللعبة على XBox 360 بالإضافة إلى Windows، لذلك لا بد لي من استخدام إطار العمل لحفظ البيانات.

يبدو أنك تحفظ البيانات في علامة اللاعب الخاصة بمستخدم معين - لذا سؤالي هو، ماذا أفعل بالنتائج العالية؟

  • هل تريد حفظ نتائج المستخدم الخاصة في ملفه الشخصي؟(لذلك لا يمكنك رؤية نتائجك إلا إذا كنت الشخص الوحيد الذي قام بتسجيل الدخول)
  • هل تحاول حفظ نتائج اللاعبين الآخرين في جميع الملفات الشخصية؟(يبدو أنه من الصعب محاولة الحفاظ على هذه المزامنة)
  • عشرات المتجر على الانترنت
    • يبدو أن 360 لديه طريقة قياسية لإظهار النتائج العالية للأصدقاء.هل يمكن الوصول إلى هذا من داخل XNA، أم أنه متاح فقط للألعاب المنشورة؟
    • لفة بلدي.(يبدو مبالغا فيه لمثل هذا المشروع الشخصي الصغير.)
هل كانت مفيدة؟

المحلول

لا يمنحك XNA Live API إمكانية الوصول إلى لوحات المتصدرين ...لذا فإن خيارك الحقيقي الوحيد هو تخزين النتائج محليًا.إذا كنت تريد أن يرى المستخدمون نتائج بعضهم البعض...يمكنك استخدام متجرين مختلفين.مخزن اللاعب لحفظ البيانات الخاصة به ...ومن ثم تخزين العنوان لتخزين النتائج.

بالطبع، إذا كان جهاز 360 يحتوي على أكثر من جهاز تخزين واحد، فسيتعين عليهم تحديده مرتين ...ولكن لا يمكنك السماح لهم باختيار الجهاز للحصول على النتائج إلا إذا انتقلوا إلى قسم النتائج العالية.

نصائح أخرى

قد ترغب في القراءة http://www.enchantedage.com/highscores.يستخدم جلسات شبكة XNA لمشاركة النتائج العالية مع أجهزة Xbox الأخرى التي تلعب نفس اللعبة.

إليك إحدى الطرق التي تم إنجازها والتي تبدو بسيطة للغاية وسهلة التنفيذ.

http://xnaessentials.com/tutorials/highscores.aspx

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top