Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Game Development
  2. Game Development

إنشاء بطاقات اللعب بشكل ديناميكي باستخدام شيفرة من أجل لعبة تقوم على التكديس

by
Difficulty:BeginnerLength:MediumLanguages:

Arabic (العربية/عربي) translation by Maryam Abbas (you can also view the original English article)

Final product image
What You'll Be Creating

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

1. مكونات مجموعة بطاقات اللعب

تحتوي مجموعة أوراق اللعب على 52 بطاقة مع 13 بطاقة من كل من الرموز ال 4 المختلفة. من أجل إنشاء رمز واحد ، سنحتاج إلى إنشاء هذه الرموز الأربعة، قاعدة مستطيلة مستديرة للبطاقة، والتصميم على ظهر البطاقة.

يمكن أن يكون التصميم على ظهر البطاقة أي نمط تجريدي، وهناك العديد من الطرق لإنشاء واحد. سنقوم بإنشاء نمط بسيط قابل للترتيب جنباً إلى جنب والذي سيتم بعد ذلك صفه بشكل متجانب لإنشاء التصميم. لن يكون لدينا أي تصميم خاص للبطاقات A و K و Q و J.

2. حلول بديلة

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

  1. والواضح هو استخدام الفن الذي تم تقديمه مسبقًا لجميع التصميمات.
  2. الأقل وضوحاً هو استخدام خط يحتوي على كافة الرموز الضرورية. يمكننا أيضًا تحويل الخط المذكور إلى خط نقطي لتقليل طلبات ورق اللعب وزيادة الأداء.

الحل القائم على الخطوط هو الأسرع والأسهل إذا كنت تريد عمل نماذج أولية سريعة.

3. إنشاء المحتويات أثناء وقت التشغيل

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

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

على سبيل المثال، إذا أردنا ملء البنية بأكملها بلون، فيمكننا استخدام طريقة كهذه.

بمجرد إنشاء البنية ثنائية البعد، يمكننا استخدامها لإنشاء النقوش ليتم عرضها على الشاشة.

الجزء المعقد في كل هذا هو خلق التصاميم اللازمة على البنية.

4. خلق شكل القلب

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

heart shape combining primitive shapes

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

تلوين الدائرة

دعونا نحضر بعض المعادلات لرسم دائرة. بالنسبة لدائرة بها مركز في الأصل ونصف قطر r، تكون معادلة النقطة(x، y)على الدائرة x2 + y2 = r2. الآن إذا كان مركز الدائرة في (h، k) تصبح المعادلة (x 2 + (y--h)k) 2 = r2. لذا إذا كان لدينا صندوق مستطيل يحيط بمربع، فيمكننا الالتفاف من خلال جميع النقاط داخل هذا المستطيل وتحديد النقاط التي تقع داخل الدائرة والتي لا تقع فيها. يمكننا بسهولة إنشاء طريقة الدائرة الملونة استنادًا إلى هذا الفهم، كما هو موضح أدناه.

حالما تكون لدينا طريقة الدائرة الملونة، يمكننا المضي قدما في خلق شكل القلب كما هو مبين أدناه.

الدقة المتغيرة هي عرض وارتفاع البنية.

5. خلق شكل المعين

سنناقش طريقتين لرسم شكل المعين.

تلوين المعين البسيط

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

تلوين المعين المنحني

والثانية هي استخدام معادلة أخرى لإنشاء نسخة أفضل ومنحنية من شكل المعين لدينا. سوف نستخدم هذه الطريقة لإنشاء تصميم متجانب للجانب الخلفي من بطاقتنا. تستمد معادلة الدائرة من المعادلة الأصلية للقطع الناقص، وهو (x / a) 2 + (y / b) 2 = r2.

هذه المعادلة هي نفس تلك الخاصة بالدائرة عندما يكون المتغيران a و b كلاهما 1. يمكن بعد ذلك توسيع معادلة القطع الناقص إلى معادلة قطع ناقص فائق للأشكال المتشابهة فقط عن طريق تغيير القوة ،(x/a)n + (y/b)n = rn .  لذلك عندما يكون n هو 2 لدينا القطع الناقص، وبالنسبة للقيم الأخرى من n سيكون لدينا أشكال مختلفة، واحدة منها هي المعين الخاص بنا. يمكننا استخدام النهج المستخدم للوصول إلى طريقة الدائرة الملونة  للوصول إلى طريقة المعين الملون الجديد.

رسم مستطيل مدور

يمكن استخدام نفس المعادلة لإنشاء الشكل الأساسي لبطاقة المستطيل المدور من خلال تغيير قيمة n.

تلوين تصميم القرميد

باستخدام طريقة المعين الملون هذه، يمكن أن نستخلص خمسة معينات لإنشاء بنية القرميد للتصميم على ظهر بطاقتنا.

tiling design and tiled back side of the card

التصميم القرميدي والجانب الخلفي المبلط من البطاقة

6. إنشاء شكل البستوني

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

primitive shapes used to define spades shape

ستكون طريقة البستوني الملون كما هو موضح أدناه.

7. إنشاء شكل السباتي

في هذه المرحلة، أنا متأكد من أنه يمكنك معرفة مدى سهولة تكوين شكل السباتي. كل ما نحتاجه هو دائرتين والشكل الأساسي الذي أنشأناه لشكل البستوني.

primitive shapes used to define clubs shape

ستكون طريقة السباتي الملون كما هي موضحة أدناه.

8. رزم المحتويات

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

باستخدام مصفوفة الاصول المكدسة، يمكننا استرداد المربعات المحيطة بالمحتويات المستقلة من المحتوى الرئيسي المسمى المحتوى المكدس.

استنتاج

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

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

الآن وبعد أن أصبح لدينا بطاقات لعب الورق، أخبرني ما هي الألعاب التي تخطط لإنشائها بها.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.