سؤال

هدفي هو الحصول على فهم أفضل لخصائص C#، وتصبح أكثر راحة في إنشاء تطبيقات بسيطة. أنا مؤهلة إلى حد ما مع Flash (ActionScript 3) ، ووجدت لعبة Tic-Tac-Toe القديمة التي كتبتها. بدأت أتساءل عن نقل هذا الرمز في تطبيق C#. لا أعرف الكثير عن C#، أتساءل عن مدى صعوبة الهجرة.

من ناحية ، يكون منطق اللعبة الأساسي متشابهًا بشكل نحلي ، وبالتالي سيكون من السهل المنطق.

ومع ذلك ، فيما يتعلق بالرسومات ، لا أعرف حتى من أين أبدأ. حتى الآن ، لم أعرض نفسي إلا لنماذج Windows وتطبيقات وحدة التحكم في C#.

أتساءل عما إذا كانت مفاهيم الفلاش هذه لها نظيرات مماثلة في C#، أو إذا كانت الإجراءات وبناء الجملة مختلفة اختلافًا جذريًا:

  • وضع عناصر رسومية على المسرح
  • خطوط تقديم من إحداثيات البداية/النهاية
  • مستمعي الأحداث على مقاطع الأفلام
  • تبديل الصورة داخل عنصر الرسوم (أو ، في إصدار الفلاش الخاص بي ، NextFrame () في مقطع فيلم)
هل كانت مفيدة؟

المحلول

قد ترغب في محاولة تطوير لعبتك الصغيرة باستخدام Silverlight. تتشابه تطبيقات Silverlight ، المشفرة باستخدام C# و XAML ، في شكلها مع تطبيقات الفلاش ، ويجب أن تجد كل ما تحتاجه دون مشكلة.

لذلك أقترح عليك تنزيل Silverlight SDK (مجاني) وتجربته.

نصائح أخرى

أولاً ، فلاش هو WPF (إغلاق بما فيه الكفاية) لأن ActionScript هو C#.

يشبه طراز WPF/Silverlight أكثر تشبهًا إلى Flex أنه فلاش. يضاف كل شيء إلى شجرة واجهة المستخدم ككائن ، حتى الخطوط.

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

على الرغم من أن WPF و Silverlight متشابهان للغاية ، إلا أنني أوصي بالبدء بـ Silverlight لأن SDK والعينات المتاحة أكثر ثراءً. يمكنك بسهولة الانتقال إلى WPF لاحقًا (على الرغم من أن نقل التطبيق من Silverlight إلى WPF ليس تلقائيًا).

سيتم تبديل الصور ، كما ذكرت ، عبر "الحالات المرئية" في Silverlight (أو ربما تغيير مرجع الصورة ، وهو أكثر "اختراق").

ألق نظرة على الروابط التالية للبدء:

إذا كنت تبحث خصيصًا للقيام بالألعاب وما شابه ، فقد ترغب في النظر في إطار XNA المجاني. ومع ذلك ، ستكون هناك اختلافات لأن Flash يمنحك قدرة أكبر على "إعداد" الأشياء مسبقًا وتعديلها.

  • وضع عناصر رسومية على المسرح

    إذا ذهبت إلى مسار XNA ، فسترسم العفاريت باستخدام spriteBatch ، فأنت تخبرهم أين وكيفية الرسم وهنا سيذهبون

  • خطوط تقديم من إحداثيات البداية/النهاية

    في نماذج Windows ، يمكنك القيام بذلك عبر نظام بسيط. على الرغم من أن هذا سيقتصر على خط 1 بكسل)

  • مستمعي الأحداث على مقاطع الأفلام

    انظر إلى المندوبين ، ولكن ليس هناك ما يعادل مقاطع الأفلام على حد علمي

  • تبديل الصورة داخل عنصر الرسوم (أو ، في إصدار الفلاش الخاص بي ، NextFrame () في مقطع فيلم)

    هذا بسيط إلى حد ما ، اعتمادًا على ما تعنيه. إذا كنت تريد ، على سبيل المثال ، تحريك العفريت. يمكنك القيام بذلك عن طريق تحريك مستطيل المصدر أو تغيير نسيج spriteshet. إذا كنت تقصد الشاشة ككل ، فسيتم التعامل معها في الغالب من أجلك شريطة استخدام spriteBatch. في أشكال Windows ، سيتعين عليك القيام بالمزيد من ذلك بنفسك ، ولكن المفاهيم الأساسية هي نفسها.

بشكل عام ، ليس بهذا السوء ، ولكن إذا لم يكن هذا يبدو جذابًا ، تحقق من Silverlight. إنه فلاش مصمم بشكل أساسي حتى تجد الانتقال أسهل.

حظا سعيدا وآمل أن يساعد هذا.

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