الشبكة العربية لمطوري الألعاب

خبير مدير وسام البهنسي مشاركة 1

هذه المهمة سهلة جداً. بعد أن قام أحمد عز بكتابة كود التنقل Stateflow، الآن نستطيع بناء أول حالة ستظهر في اللعبة. هذه الحالة هي فلم المقدمة.
 
لقد تمت كتابة وحدة تشغيل الأفلام بالفعل، لكننا نريد استخدامها الآن في إطار Stateflow، بحيث أن اللعبة تبدأ بتشغيل الفلم، ثم تنتقل للحالات الأخرى (حالياً حالة شاشة اللون الأحمر).
 
مبدئياً، ضع فلماً من نوع mpg باسم intro.mpg وشغله. محتويات الفلم غير مهمة جداً، ويمكنك وضع أية دعاية أو مقطع صغير. فيما بعد سيقوم فريق الرسوميات بصنع فلم المقدمة ووضعه بدلاً من الفلم المؤقت.
 
بعد الانتهاء من المهمة والتحقق من سلامة عملها، ارفع التعديلات على النسخة المركزية في كود بليكس. (بالمناسبة، MJS، لم تفتتح حساباً في كود بليكس بعد).
 
 
شكراً

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

خبير مدير وسام البهنسي مشاركة 2

أخي MJS، لرفع التعديلات إلى كود بليكس، انظر الموضوع:
 
http://blog.agdn-online.com/wbahnassi/post/1431/07/14/عبر-السدم-وكود-بليكس.aspx

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

مبتدئ  MJS مشاركة 3

أخ وسام ,شكرا ...انا متاسف للتاخير ولكن انشالله غدا ساقوم برفع الملفات حيث ان المهمة المطلوبة جاهزة بالكامل..
و لكن انا حاليا اقوم بتحميل برنامج Tortoise  بصراحة خطي الانترنت بطيييييييييييييييء 🙁

مبتدئ  MJS مشاركة 4

تم رفع التعديلات !
:)

خبير مدير وسام البهنسي مشاركة 5

أخي MJS، التعديلات التي رفعتها لا تحقق المهمة المطلوبة.
 
المطلوب هو إنشاء حالة State جديدة يتم تشغيل الفيديو من داخلها. هذه الحالة تعمل مع نظام التنقل الذي أنشأناه في اللعبة Stateflow. لا يجب أن نرى الـ object الخاص بلعب الفيديو يتم إنشاؤه في كلاس اللعبة الرئيسي.
 
إن كانت الأمور غير واضحة بالنسبة لك فلا تتردد بالسؤال عنها.

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

مبتدئ  MJS مشاركة 6

وفي 05 يوليو 2010 02:42 ص، ظهر شبح ابتسامة على وجه وسام البهنسي وهو يقول:

لمطلوب هو إنشاء حالة State جديدة يتم تشغيل الفيديو من داخلها

هذا ما قمت به...هل هناك طريقة اخرى؟


أما في 05 يوليو 2010 02:42 ص، فقد تنهد وسام البهنسي بارتياح وهو يرد:

لا يجب أن نرى الـ object الخاص بلعب الفيديو يتم إنشاؤه في كلاس اللعبة الرئيسي

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

خبير مدير وسام البهنسي مشاركة 7

أما في 24/رجب/1431 03:10 م، فقد تنهد MJS بارتياح وهو يرد:

هذا ما قمت به...هل هناك طريقة اخرى؟
 
آسف. لكن تعديلاتك أزيلت من قبل عملية دمج خاطئة قام بها أحدهم. لذلك أدعو الجميع للانتباه لعملية الدمج، وتأكدوا من الدمج مع آخر التعديلات وبشكل صحيح عندما يتطلب الأمر ذلك.
 
لقد استعدتُ تعديلاتك الآن بشكل صحيح. وأقترح إعادة تسمية الصنف من GameState_EntranceScene إلى GameState_VideoPlayback كي نستطيع استخدام نفس الحالة للعب أفلام مختلفة. كمثال:
 


m_pCurrentState = new GameState_VideoPlayback("intro.wmv");



في 24/رجب/1431 03:10 م، غمغم MJS باستغراب قائلاً:

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

مكان التحميل الذي يقدمه صنف Game هو اقتراح فقط، وليس شرطاً مجبراً. تستطيع تحميل ما تشاء وقتما تشاء. لذلك في حالتك فإن التحميل سيتم في الباني للصنف GameState_VideoPlayback والذي يجب أن يأخذ كمـُدخل اسم ملف الفيديو.
 
فيما عدا ذلك فكل شيء تمام! ☺

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

مبتدئ  MJS مشاركة 8

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

pushing to https://hg01.codeplex.com/sudum
searching for changes
(did you forget to merge? use push -f to force)
[command returned code 1 Wed Jul 07 20:29:42 2010]
abort: push creates new remote heads on branch 'default'!
 
على الرغم من انني قمت بعملية Merge مع أخر التعديلات قبل أن أحاول رفع الملفات ....!

خبير مدير وسام البهنسي مشاركة 9

حسناً، لست واثقاً من الوضع الذي أنت فيه الآن، لكن تحقق من تنفيذ الخطوات التالية:
 
* بعد إتمام كافة تعديلاتك، نفذ الأمر Commit، وتأكد من تضمين كافة التعديلات التي تريدها. بقية الملفات يجب ألا تدخل في القائمة أو يجب أن تعاد إلى حالتها الأصلية إن لم تكن تقصد تعديلها.
 
* الآن قم بعملية سحب شامل Pull. هنا غالباً ستطالب بإجراء الدمج. قم بذلك وسلم التعديلات Commit.
 
* الآن يجب أن تستطيع رفع التعديلات بسلاسة، الأمر Push.
 
إن استمرت المشاكل معك، فيمكنك الاحتفاظ بنسخة جانبية من تعديلاتك وحذف كامل مجلد المشروع والبدء من نسخة نظيفة باستخدام الأمر Clone.

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

مبتدئ  MJS مشاركة 10

تمت اضافة أخر التعديلات (عملت نسخة جديدة حتى مشت الامور !)
اذا كانت هناك اي ملاحظات الرجاء اخباري عنها....و لدي ملاحظة اخيرة :
- عند وضع التعليقات على نسخ الكود الرجاء و ضعها باللغة الانجليزية لانها تظهر كعلامات استفهام في البرنامج و المتصفح على حد سواء....