سؤال

مرحبًا، أريد أن أكتب لعبة ذات نموذج اللعبة الرئيسي والكثير من الأشكال العادية الأخرى.ما هي أفضل طريقة لإدارة دورة الطلاء التحديث في هذه الحالة؟

هل يجب تجاوز حلقة الطلاء الخاصة بنموذج اللعبة فقط؟أم يجب أن أقوم بإجراء أحداث application.do () في الطريقة الرئيسية؟

أرجو إرشادي في هذا الشأن.أنا جديد في عالم نماذج Windows

هل كانت مفيدة؟

المحلول

يجب أن يكون مؤشر الترابط المنطقي الخاص بك منفصلاً عن النموذج، لذلك لن تحتاج إلى DoEvents().إذا كنت تستخدم GDI+، فيجب عليك فرض Update() على الحلقة.لا يقوم Windows Forms بإجراء التخزين المؤقت المزدوج بشكل جيد، لذا اعتمادًا على مدى تعقيد الرسومات الخاصة بك، قد تواجه بعض الصعوبات في الوميض.

اقتراحي هو النظر في استخدام مكتبة DirectX المدارة.هناك الكثير لتتعلمه، ولكنه يوفر لك كل ما تحتاجه.

يحرر:لقد قرأت مؤخرًا عن WPF، الذي يبدو وكأنه نظام أساسي أفضل بكثير للألعاب البسيطة إلى المتوسطة التعقيد، لأنه يوفر واجهة برمجة تطبيقات ذات مستوى أعلى بكثير من مكتبة DirectX المدارة.ومع ذلك، فمن المحتمل أن يكون لها قيود على الأداء والمرونة بالنسبة للألعاب الأكثر تعقيدًا.

نصائح أخرى

لا يذكر نص السؤال Compact Framework، بل Winforms فقط.هذه هي الإجابة المقبولة تقريبًا لـ Winforms من Tom Miller (Xna Game Studio و Managed DirectX guy من Microsoft):

حلقة لعبة Winforms

@ ريتش ب:حلقة اللعبة مستقلة عن كيفية إجراء العرض (DirectX، MDX، GDI+)

إذا كنت تصنع لعبة، فيجب أن تبحث فيها دايركت اكس, برنامج OpenGL, ، أو XNA.

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