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

خبير  مهند محمد علي مشاركة 131

في 03 مايو 2011 10:17 م، غمغم السيد فتحى السيد باستغراب قائلاً:

ثم نجرب

نعم لاحظت الفرق انه المربع اذا نزل لاسفل ينزل مسرعا

لكن ممكن شويه توضيح للمفاهيم؟
وكيف يعمل التايمر بالضبط؟

خبير  السيد فتحى السيد مشاركة 132

بتاريخ 03 مايو 2011 09:47 م، قطب المهند حاجبيه بشدة وهو يقول:

وكيف يعمل التايمر بالضبط؟
 التيمر ينفذ الكود الذى بداخلة كل فتره زمنية نحددها نحن ونحن حددنها فى الخصائص  
وجعلنا  ال Interval ب 100 وال 100 تعنى ملى ثانية ونحن جعلنا  ال PictureBox1.Top تذيد كل ملى ثانية الى ان تصل الى رقم معين وتقف عنده

خبير مشرف أسامة السلمان مشاركة 133

وفي 30/جمادى الأولى/1432 11:25 م، أعرب السيد فتحى السيد عن رأيه بالموقف كالآتي:

نحن جعلنا  ال PictureBox1.Top تذيد كل ملى ثانية الى ان تصل الى رقم معين وتقف عنده

يعني مثل الجاذبية الأرضية التي تسارعها 9.8 م/ث (تربيع)

هنا جعلنا التسارع 20 وحدة / ملي ثانية ؟

كلامي صحيح؟

أسامة السلمان
مطور ألعاب ومهندس برمجيات.
للتواصل: https://twitter.com/TheDorgam
بما أن الله على كل شيء قدير ؛ إذا ، ليس هناك شيء يدعى "المستحيل".

خبير  السيد فتحى السيد مشاركة 134

وفي 03 مايو 2011 11:35 م، قال أسامة السلمان متحمساً:

هنا جعلنا التسارع 20 وحدة / ملي ثانية ؟

كلامي صحيح

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

خبير مشرف أسامة السلمان مشاركة 135

على استعداد لدراسة المزيييييييييد
فأخيرا نهاية الأسبووووووووووع

أسامة السلمان
مطور ألعاب ومهندس برمجيات.
للتواصل: https://twitter.com/TheDorgam
بما أن الله على كل شيء قدير ؛ إذا ، ليس هناك شيء يدعى "المستحيل".

خبير  السيد فتحى السيد مشاركة 136

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

خبير  السيد فتحى السيد مشاركة 137

السلام عليكم
 
هذه بعض الدروس كنت كتبتها منذ زمن فى منتدى اخر
 
مقدمة حول Microsoft DirectX 9.0


منذ فترة، وميكروسوفت معنيّة بتطوير أدواتها الخاصّة بالرسوم والألعاب والوسائط المتعدّدة Multimedia.. وفي هذا الصدد، قامت ميكروسوفت بتطوير ما أسمته DirectX.. ويعنينا هنا أن نتوقّف قليلا أمام هذه التسميّة.
أمّا بخصوص كلمة "مباشر" Direct، فهي ناتجة من أنّ هذه التقنية تستخدم مجموعة منخفضة المستوى Low Level من واجهات برمجة التطبيقات Application Programming Interfaces (APIs)، التي تتيح لمن يستخدمها أن يتعامل ((مباشرةً)) مع مكونات الكمبيوتر، بدون وسيط من تقنية COM، ممّا يضمن سرعةً وكفاءةً وتحكّما أعلى في تنفيذ التطبيقات التي تستخدم هذه الوسيلة.
وقبلَ أن ينقبضَ صدرك مع سماع التعبيرات Low Level و API و COM، يجب أن أخبركَ أنّ شيئا لن يختلف بالنسبة لك كمبرمج VB، فقد قامت ميكروسوفت بإنتاج نسخة من DirectX في صورة خلايا Classes، بحيث يمكنك استخدامها من داخل VB بنفس الطريقة التي تستخدم بها باقي خلايا إطار العمل Framework.. تنفّس الصُعَداء إذن.
هذا عن كلمة Direct.. ماذا إذن عن هذا الحرف X، الذي يشغف به الأمريكان حبّا؟!
إنّ هذا الحرف يقوم عوضا عن أيّ مجهول، يمكن أن يتّخذ مجموعة مختلفة من القيم..(بالمعنى البرمجى متغير) إنّ هذا إذن يعني أنّ DirectX يحتوي على مجموعة مختلفة من الأدوات، مثل Direct3D و DirectDraw و DirectInput.
إنَ حوالي 75% على الأقّل من الألعاب تحتاج لإصدار من إصدارات DirectX المختلفة لكي تعمل.. إنّ هذا يشير بوضوح لأهمّيّة هذه التقنية، ومدى الإمكانيّات التي تقدّمها.


منقول

خبير  السيد فتحى السيد مشاركة 138

Direct3D

لا شك أن قوة DirectX تكمن في قدرته على تطوير وبناء البرامج ذات الأبعاد الثلاثة والتي أصبحت منتشرة جدا الآن، وكذلك لا شك أن DirectX توفر لك إمكانيات مذهلة في هذا المجال
يوفر لك Direct3D إمكانيات هائلة وغير محدودة في التعامل مع العوالم ثلاثية الأبعاد 3D Worlds
من حيث الإنشاء والتعديل والإكساء والإضاءة وتغيير الأحجام والتحريك وغير ذلك كثيرا من التأثيرات .

نظام الإحداثيات ثلاثي الأبعاد 3-D Coordinate Systems:
تستخدم الرسوم المجسّمة نوعين من نظم الإحداثيّات: اليساريّ Left-handed واليميني Right-handed.. وفي كلا النظامين، يشير محور (X) الموجب Positive x-axis إلى اليمين، ومحور (Y) الموجب Positive y-axis لأعلى.

ملحوظة:
انتبه لهذه الاتجاهات جيّدا، ولا ترتبك بينها وبين إحداثيّات الشاشة في النظام ثنائيّ البعد 2D.. (تذكّر أنّ محور (Y) الموجب Positive y-axis في VB يشير لأسفل).

في أيّ اتجاه إذن يشير محور (z) الموجب Positive z-axis؟
بسيطة.. كلّ ما عليك هو أن تطبّق قاعدة اليد اليسرى في النظام اليساريّ، وقاعدة اليد اليمنى في النظام اليمينيّ!
ولا تمتعض هكذا حال سماعك كلمة قاعدة، فالموضوع في غاية السهولة:



 
اجعل أصابعك الثلاثة الإبهام والسبّابة و الوسطى متعامدة، واجعل سبّابتك تشير إلى اتجاه محور (X) الموجب، ووسطاك تشير إلى اتجاه محور (Y) الموجب.. في هذه الحالة سيشير إبهامك إلى اتجاه محور (Z) الموجب.
وطبعا في نظام الإحداثيّات اليمينيّ يجب أن تستخدم أصابع يدك اليمني، وفي نظام الإحداثيّات اليساريّ يجب أن تستخدم يدك اليسرى.
وكما هو واضح من الرسم، يشير اتجاه محور (Z) الموجب إلى خارج الشاشة في نظام الإحداثيّات اليمينيّ، وإلى داخل الشاشة في نظام الإحداثيّات اليساريّ.
هذا، ويستخدم Direct3Dنظام الإحداثيّات اليساريّ Left-handed coordinate system.
طبعا ستتساءل في ضجر، عن سبب كلّ هذه الثرثرة.. إنّ هذا يعود لسبب جوهريّ.. هو أنّك لن تستخدم Direct3D بمفرده، فلا بدّ أنّك ستستعين ببعض تطبيقات الرسوم ثلاثّية الأبعاد الشهيرة، لتصميم الشكل الذي تريده ـ وذلك للاستفادة من التسهيلات التي تقدّمها لك هذه التطبيقات.. في هذه الحالة قد تصطدم بأنّ بعض هذه التطبيقات يستخدم نظام الإحداثيّات اليمينيّ!!... فماذا ستفعل إذن يا ترى في هذه الحالة؟
طبعا يجب عليك أن تحوّل من النظام اليمينيّ إلى النظام اليساريّ.. عامّة لا تقلق.. هناك من الدوال ما سيساعدك على القيام بهذا
مرحبا DirecX في VB:
قديما كانت الوسيلة المثلي لاستخدام Direct3D هي عن طريق استدعاء دوال API من لغة C++.. كان ذلك كذلك، إلى أصدرت ميكروسوفت DirecX7، وسمحت فيه لمبرمجي VB بالتعامل مع DirectX بطريقة مشابهة لتقنية COM.
والآن مع DirectX9 تطوّر الأمر كثيرا، حيث صار بإمكان مبرمج VB.Net أن يستخدم DirextX9 بطريقة مشابهة لاستخدام خلايا إطار العمل Framework Classes، وذلك عن طريق ما يسمّى بالكود المنظّم Managed-code، وهو ذلك الذي تديره بيئة VS.Net حتّى لا يكون مرتبطا بنوع نظام التشغيل أو مكوّنات الجهاز، وحتّى يكون آمنا في تعامله مع الذاكرة المؤقّتة RAM.
وللمقارنة، فإنّ استدعاء دوال API هو كود غير منظّم Unmanaged-code، وذلك لاعتماده على إصدار نظام التشغيل.. كذلك فإنّ حجز مساحة من الذاكرة مباشرةً هو كود غير منظّم، لأنّه قد يؤدّي إلى استهلاك مساحة الذاكرة لو لم يتمّ تحرير المساحات المحجوزة بعد الانتهاء من استخدامها.

ملحوظة:
إن ميكروسوفت أصدرت VS.NET وفي نيتها جعل التطبيقات المنشأة بها قابلة للعمل على أنظمة التشغيل المختلفة (مثل Linux).. للأسف، لن يكون ذلك سهلا بالنسبة للتطبيقات الخاصة بـ DirectX، لأنّه مصمّم خصّيصا للويندوز!

منقول

خبير مشرف أسامة السلمان مشاركة 139

أولا أحمد الله أننا نستفيد من الفيزياء التي ندرسها في المدارس والرياضيات فقواعد اليد هذه درسناها السنة الماضية😄
وأنا أحب الرياضيات وخصوصا الفيزياء

هناك بعض السطور لم أفهمها أرجو توضيحها بصيغة شرح لمبتدأ


أولا

في 01/جمادى الثانية/1432 05:15 م، قال السيد فتحى السيد بهدوء وتؤدة:

قديما كانت الوسيلة المثلي لاستخدام Direct3D هي عن طريق استدعاء دوال API من لغة C++.. كان ذلك كذلك، إلى أصدرت ميكروسوفت DirecX7، وسمحت فيه لمبرمجي VB بالتعامل مع DirectX بطريقة مشابهة لتقنية COM.


ثانيا

في 01/جمادى الثانية/1432 05:15 م، عقد السيد فتحى السيد حاجبيه بتفكير وقال:

الآن مع DirectX9 تطوّر الأمر كثيرا، حيث صار بإمكان مبرمج VB.Net أن يستخدم DirextX9 بطريقة مشابهة لاستخدام خلايا إطار العمل Framework Classes، وذلك عن طريق ما يسمّى بالكود المنظّم Managed-code، وهو ذلك الذي تديره بيئة VS.Net حتّى لا يكون مرتبطا بنوع نظام التشغيل أو مكوّنات الجهاز، وحتّى يكون آمنا في تعامله مع الذاكرة المؤقّتة RAM.

ثالثا


وفي 01/جمادى الثانية/1432 05:15 م، قال السيد فتحى السيد متحمساً:

وللمقارنة، فإنّ استدعاء دوال API هو كود غير منظّم Unmanaged-code، وذلك لاعتماده على إصدار نظام التشغيل.. كذلك فإنّ حجز مساحة من الذاكرة مباشرةً هو كود غير منظّم، لأنّه قد يؤدّي إلى استهلاك مساحة الذاكرة لو لم يتمّ تحرير المساحات المحجوزة بعد الانتهاء من استخدامها.

وشكرا

أسامة السلمان
مطور ألعاب ومهندس برمجيات.
للتواصل: https://twitter.com/TheDorgam
بما أن الله على كل شيء قدير ؛ إذا ، ليس هناك شيء يدعى "المستحيل".

خبير  مهند محمد علي مشاركة 140

في 04 مايو 2011 04:10 م، عقد السيد فتحى السيد حاجبيه بتفكير وقال:

ما رأيكم ان نأخذ دوره سريعة فى الديركت اكس
جميل جدا ارجو تكثيف الدروس يومم الجمعه لانها اجازه

وفي 04 مايو 2011 09:11 م، قال أسامة السلمان متحمساً:

أولا أحمد الله أننا نستفيد من الفيزياء التي ندرسها في المدارس والرياضيات فقواعد اليد هذه درسناها السنة الماضية

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