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

محترف  انس مشاركة 1

السلام عليكم

لقد اتممت الجزء الثاني من سلسلة دروس الـ SDL  و انا في انتظار انتقاداتكم 😄 .
يتناول هذا الدرس كيفية انشاء نافذة و كيفية انشاء و تلوين و لصق عدة سطوح فيما بينها .

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

شكرا لكم .

سلام

محترف مشرف عبد اللطيف حاجي علي مشاركة 2

حتى تأخذ فكرة عن الأخطاء اللغوية التي تقع فيها فقد قمت هذه المرة بتصحيح المقالة بشكل مباشر. أتمنى أن تتفادى هذه الأخطاء في المرة المقبلة.

1.  إن قول إن الإجراء pause هدفه إيقاف البرنامج هو إجحاف بحقه. فوظيفته الأساسية هي انتظار الأحداث التي يقوم بها المستخدم ومعالجتها حسب ما يريده المبرمج.
2. طبعاً نظام اللون RGB هو أحد الأنظمة فقط. وهو ليس الوحيد المستخدم في جميع الأجهزة فهناك أنظمة أخرى مثل CMYK. قد لا يكون مناسباً أن تذكر هذا هنا طبعاً.
3. أعتقد أن SDL_Flip ليس هدفه "مسح" السطح الرئيسي بل استبدال محتوياته بمحتويات الـ back buffer (ليس استبدالاً بالمعنى الحرفي لكن ليست هذه النقطة).
4. عند فشل أي إجراء فإن البرنامج يكتفي بطباعة رسالة والخروج من البرنامج دون تحرير (أو تسريح) الموارد التي تم حجزها.

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

عبد اللطيف حاجي علي
مبرمج
In|Framez

محترف  انس مشاركة 3

شكرا مرة اخرى على نتقدك للدرس .



أما في 16 مارس 2009 03:30 م، فقد تنهد عبد اللطيف حاجي علي بارتياح وهو يرد:

1.  إن قول إن الإجراء pause هدفه إيقاف البرنامج هو إجحاف بحقه. فوظيفته الأساسية هي انتظار الأحداث التي يقوم بها المستخدم ومعالجتها حسب ما يريده المبرمج.

هذا الامر نعلمه انا و انت، ولكن بالنسبة لمبرمج لا يعرف ما معنى كلمة الاحداث (ساستعمل هذه الكلمة فلم اجد ترجمة مماثلة 😄 ) فان سرد هذه الكلمة سيخلط علي الامور،لقد خصصة للاحداث درسين كاملين، اشرح فيها ما اعرفه عن هذا الموضوع.



في 16 مارس 2009 03:30 م، غمغم عبد اللطيف حاجي علي باستغراب قائلاً:

2. طبعاً نظام اللون RGB هو أحد الأنظمة فقط. وهو ليس الوحيد المستخدم في جميع الأجهزة فهناك أنظمة أخرى مثل CMYK. قد لا يكون مناسباً أن تذكر هذا هنا طبعاً
معك حق في هذه النقطة،لقد ذكرت هذا الامر لانني كنت اتكلم (او على الاقل افكر في)الشاشة و التي يتكون كل بيكسل منها من اربعة الوان الاحمر الازرق  ,و لونين اخضرين متماثلين ...طبعا هذا من الدروس التي تابعتها في الانترنت و قد تكون خاطئة...المهم ان هذه النقطة ستعالج باذن الله .



بتاريخ 16 مارس 2009 03:30 م، قطب عبد اللطيف حاجي علي حاجبيه بشدة وهو يقول:

3. أعتقد أن SDL_Flip ليس هدفه "مسح" السطح الرئيسي بل استبدال محتوياته بمحتويات الـ back buffer (ليس استبدالاً بالمعنى الحرفي لكن ليست هذه النقطة).
😄 ، طبعا هذا عمله الحقيقي، و لكن كلمة back buffer مرعبة و لازلت اخاف منها، ضف الى ذلك انني ساتكلم في هذا الموضوع عند التطرق
 للdouble buffering، في هذه المرحلة سيكون للمبرمج الذي يتابع الدرس معلومات كافية لاستيعاب هذه المفاهيم .


وفي 16 مارس 2009 03:30 م، أعرب عبد اللطيف حاجي علي عن رأيه بالموقف كالآتي:

4. عند فشل أي إجراء فإن البرنامج يكتفي بطباعة رسالة والخروج من البرنامج دون تحرير (أو تسريح) الموارد التي تم حجزها.
اذا فشل اي اجراء فسيتصرف البرنامج مثل ما خطط له المبرمج .
في الـSDL  لا توجد الرسائل التي يظهرها نظام وندوز ، لي انك اذا اردت انشاء نافذة بالمواصفات التالية 640,480,64 فان البرنامج سيتوقف مباشرة دون تحديد السبب ، الدلة SDL_GetError تعالج الامر (طبعا الرسائل تكتب في ملف نصي )

اذا لم يقم المبرمج بكتابة كود يعمل في حالة فشل البرنامج فان البرنامج قد يتوقف و قد يواصل عمله ... في كلا الحالتين يتم انشاء ملف نصي تحت اسم stderr.txt
مثال : اذا طلب المبرمج فتح و تحميل الصورة (أ) مع ان هذه الصورة غير موجودة،في هذه الحالة البرنامج لن يتوقف عن العمل و يكون تصرفه غير محدد لذا يستحسن اغلاقه (تخيل لعبة ماريو تعمل دون الصور الخاصة بالشخصية الاساسية !! 😲 )

اما بانسبة للتسريح فلن يتم بما انه لم يتم حجز المساحة . اما اذا كنت تقصد تسريح العناصر التي تم حجزها بنجاح فهذا الامر يمكن معالجته باستخدام الشرط .

شكرا لك مرة اخرى،ساحاول تصحيح الاخطاء و اعادة رفع الدرس

سلام

محترف مشرف عبد اللطيف حاجي علي مشاركة 4

في 16 آذار 2009 08:39 م، غمغم انس باستغراب قائلاً:

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


بتاريخ 16 آذار 2009 08:39 م، قطب انس حاجبيه بشدة وهو يقول:

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

عبد اللطيف حاجي علي
مبرمج
In|Framez

محترف  انس مشاركة 5

السلام عليكم

استاذ عبد اللطيف لم استطع فتح الملف الذي ادرجته في المرفقات،اغلب الملفات المتواجدة في بصيغة XML، هل من مساعدة ؟

محترف مشرف عبد اللطيف حاجي علي مشاركة 6

أما في 17 آذار 2009 07:31 م، فقد تنهد انس بارتياح وهو يرد:

لم استطع فتح الملف الذي ادرجته في المرفقات،اغلب الملفات المتواجدة في بصيغة XML، هل من مساعدة ؟
غريب. أذكر أني حملت الملف بلاحقة docx. على كلٍ فقط غير لاحقته لـ docx وافتح الملف باستخدام Word 2007

آه يبدو أن الشكبة لا تدعم هذا النوع من الملفات.

عبد اللطيف حاجي علي
مبرمج
In|Framez