المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الدرس الثالث: في دوره برمجه الالعاب : الدالهOnpaint-الدالة الرئيسية Main


totysalah
14-11-2007, 12:49 AM
http://img87.imageshack.us/img87/2879/csharpfv6.jpg

http://img339.imageshack.us/img339/9319/onpaintji9.jpg



لتتوضح أهمية هذه الدالة, ما رأيك أن نأخذ مثال عملي: نحتاج إلى كميرا الجوال وشاشة كمبيوتر, الآن إفتح كميرا الجوال لديك ونظر إلى شاشة الكمبيوتر, ماذا ترى؟؟ نعم ما تراه هي الحقيقة لأحظ وجود خطوط في الشاشة مثل ما كأن الخط يقوم بعمل مسح (Scan) للشاشة ويستبدلها بأخرى وتستمر هذه العملية ما دامت الشاشة تعمل.
عملية المسح المتلاحقة أو قل الرسم هي ما تقوم به هذه الدالة, حيث تقوم بعملية عرض الـ Buffer الذي قمنا بتحديد طريقة عرضة عندما تكلمنا عن الـ SwapEffect الموجود في الـ Class المسمى PresentParameters (راجع الدرس الثالث).

OnPaint() تتواجد هذه الدالة في السي شارب في الـ Class التابعة لي Windows Form بشكل (Built In). وظيفتها الإبقاء على عملية الرسم بشكل مستمر, ولكي تعمل بشكل دائم فلابد من أن تحوي بداخلها حدث (Event) وهو الـ PaintEventArgs

لتصبح بحلتها الكاملة كالتالي:



protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
{
....
....
}



ما رأيك أن نراجع بعض ما قلنا في الأعلا وفي الدرس السابق لنربط الماضي بالحاضر:
إذن من أعلا .. سيكون على عاتق هذه الدالة (OnPaint) بما تحوية من باراميتر ( parameter) التعامل مع الـ Buffer الموجود في كرت الشاشة وتحويلة إلى رسومات.
عملية إظهار الرسومات تكون على شكل: فريم يظهر على الشاشة وفي وقت قصير جدا يبلغ نانو seconds (أي واحد على مليون) يختفي ويظهر الذي يليه وهكذا .. لا أدري هل وضحت الفكرة أم لا ... حسناً سنوضحها أكثر بمثال عملي, أحضر مصباح وقم بفتح الضوء ومن ثم إقفالة .. بسرعة أكبر .. أسرع .. أكثر .. إلى ان تصل إلى سرعة نانو seconds عندها لن تلاحظ بأن الضوء يقفل بل ستراه مضئ بشكل مستمر, وهذا هو نفس نظرية عمل الدالة (Function) المسمى (OnPaint) .

الآن عملية إظهارفريم ومن ثم (مسحه) وإظهار الذي يليه ....... ولأكن لحظة إرجع إلى الوراء من قليلاً ... قلت (مسحه) .. نعم قبل أن يحل الـ فريم الجديد محل القديم فيجب علينا تنظيف المكان, وهنا نأتي إلى موضوع الـ Clear. الذي يجب أن يكون بي هذه الدالة.




تحدث عملية التنظيف (Clear) للـ Buffer وتكون كالتالي:




device.Clear (.. , .., ..,..)



هذه الدالة (function) المسمى Clear تحوي بداخلها أربعة عناصر (parameter) وهي كالتالي:

الأول: لتحديد المكان المراد عمل تنظيف (Clear) له وهي :




device.Clear (ClearFlags.Target , .., ..,..)



ClearFlags.Target : والتي تعني تنظيف الـ Back Buffer أي القسم غير المرئي (راجع الدرس الثاني عندما تكلمنا عن الـ SwapEffect والرسم التوضيحي للقسم المرئي (Front Buffer) وغير المرئي (Back Buffer))

ClearFlags.ZBuffer: والتي تعني تنظيف الـ Z Buffer أي ذاكرة العمق (راجع الدرس الثاني).

ClearFlags.Stencil : وهو نوع خاص من الـ Z Buffer (ذاكرة العمق) خاص ببعض المؤثرات (Effects) ويجب على كرت الشاشة أن يدعم هذه الخاصية لكي تعمل حيث تختص بأمور الـ Pixel.


الثانية: بعدما إنتهينا من عملية التنظيف يأتي دور اللعب بالألوان, فنقوم بصبغ الـ Buffer باللون الذي نريده ويمكننا إستغلال ذلك بحيث نجعلة لون لخلفية المشهد, نقوم بهذا العمل بمساعدة الدالة Color حيث نقوم بتحديد اللون الذي نريده (أزرق, أحمر, أبيض, أسود ... الخ).



device.Clear (ClearFlags.Target ,Color.Red , ..,..)




http://img152.imageshack.us/img152/5416/103302copyak2uq6.gif

totysalah
14-11-2007, 01:02 AM
الثالثة:
تأخذ رقم 1 وهي خاصة درجة عمق الـ Buffer


device.Clear (ClearFlags.Target ,Color.Red , 1,..)


والرابعة:
تأخذ رقم 0 وهي خاصة بي أمور الـ Pixels


device.Clear (ClearFlags.Target ,Color.Red , 1,0)


اما الآن سنرتب الكلام الذي وصلنا إليه إلى الآن برمجياً,,, سيكون كالتالي:

protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
{
device.Clear (ClearFlags.Target ,Color.Red , 1,0)
}


في الحقيقة كل ما قلناه في الأعلى يبقي مسودة (Draft) لما يجب القيام به إلى أن نصرح عن الدالة (Function) المسمى بي Present () فهي من يحول كل شئ إلى حقيقة لتصبح دالتنا بشكلها النهائي :




protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
{
device.Clear (ClearFlags.Target ,Color.Red , 1,0)
device.Present ();
}


الـ device في الكود بالأعلا هو كائن (object) للـ Device الموجود في الـ DirectX. (سنتكلم عن ذلك في الدرس القادم).




http://img222.imageshack.us/img222/9293/103302copyak2kz6.gif



http://img165.imageshack.us/img165/4914/mainkt7.jpg



إبدأ من هنا .... هو شعار هذه الدالة فهي نقطة الدخول إلى الكود (Access Point) أو الـ (Entry Point) والتي تقوم بتجميع وإستدعاء الدوال أو الفئات اللازمة, فكل ما كتبنا عنه بهذا الدرس والدرس السابق سنقوم بإستدعائة بواسطة هذه الدالة.






static void Main()


{


}





نقوم بأول خطوة بعمل كائن (Object) للفورم لكي أستطيع إستدعاء أي جزء منه بحسب الحاجة, حيث عن طريقة سنقوم بإستدعاء الدالة (function) المسمى ondevice اللأزمة من أجل التحكم في الـ Device التابعة للـ DirectX والتي تكلمنا عنها في الدرس الثاني.


أما بالنسبة للدالة OnPaint() فلا يوجد داعي لإستدعائها لأنها كما أوضحنا بأنها (Built In) .

لتصبح كالتالي:


static void Main()
{
Form1 xx = new Form1();
{
xx.ondeivce ();
}
}





إلى هذه المرحلة كل شئ أصبح جاهز, ولأكن بقيت مشكلة واحدة وهي كما تلاحظ بأن الـ Object الذي أنشئناه للفورم (xx), يجب أن يستدعي بشكل مستمر ما دام الفورم يعمل لذلك يجب علينا إضافة الجملة التالية لتحقيق هذه الغاية





Application.Run (xx);



لتصبح الدالة الرئيسية بشكلها الكامل كالتالي:



static void Main()
{
Form1 xx = new Form1();
{

xx.ondeivce ();
Application.Run (xx);
}
}



http://img222.imageshack.us/img222/9293/103302copyak2kz6.gif




http://img214.imageshack.us/img214/9857/51214615ia6.jpg





- تحميل ملفات الـ DirectX في الـ Microsoft Visual Studio.Net
- البداية مع Windows Application
- البرنامج الأول مع الـ DirectX




اترككم في رعايه الله

الي اللقاء في الدرس القادم

GENNI
14-11-2007, 08:08 PM
أخي العزيز عبد الرازق ...

يخالطني شعوران متناقضان في نفس الوقت ... فأنا الآن سعيد جدا و حزين جدا !!

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

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

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

أحب أن أهنئك على استكمال الدورة ... و اسمح لي ببعض الإضافات الصغيرة ...

يعني ايه event و override و onPaint و PaintEventArgs و الحاجات الغريبة دي؟!
خلونا نتكلم بالبلدي ...
زي ما قال أخونا عبده ... الـ Paint ده يعني رسم ... يعني مثلا لما انت بتحرك الماوس المؤشر بيتحرك ... هو في الحقيقة مش بيتحرك ولا حاجة لكن الـ Windows بيغير المكان اللي بيترسم فيه ... و لأن الويندوز بيرسم الصور ورا بعضها بسرعة (حوالي 60-90 صورة في الثانية) فأنت بتحس إن الصورة بتتحرك ...
أي تغيير في أي حاجة بتشوفها قدامك على الشاشة معناها إن فيه صور بتترسم ورا بعض ...
يعني إيه Control؟ الـ Control هو وحدة البناء الأساسية لأي برنامج Windows ... حتى الشاشة و الكلام اللي أنت بتقراه ده ... يعني فيه فوق شوية زرار مكتوب عليه "إضافة رد" ... أهو ده Control اسمه Button ... فيه صورة ... أهي دي Control اسمه ImageBox أو PictureBox ... و هكذا
ساعات بيبقى الزرار متحرك ... يعني لما تقف عليه بالماوس يتشقلب ... و لما تدوس عليه تلاقيه بيكبر أو بيصغر أو بيتلون بالأحمر ... يعني فيه حركة ... و طالما فيه حركة يبقى لازم يكون فيه صور بتترسم ...
إيه علاقة OnPaint بالكلام ده؟ الدالة OnPaint هي المسئولة عن رسم كل الـ Controls اللي انت شايفها قدامك و تحديثها على حسب حالتها ... يعني لو الزرار اتداس تحدث صورته فمثلا تلونها بالأزرق ... و عشان نكون دقيقين ... الدالة OnPaint دي دالة موجودة Built-In في كل Control زي ما عبده قال ...
يعني ايه Override؟ كلمة Override يعني إنك تغير الخصائص الطبيعية لحاجة معينة ... و دي أهم خاصية في لغات البرمجة الجديدة اللي بيسموها Object-Oriented ... ما علينا ... الـ Override دي بتتيح لك إنك تغير بناء دالة معينة ... يعني بدل ما On Paint بترسم الـ Control ... ممكن المبرمج يخليها ترسمه و تطلع صفارة من السماعات مثلا ... فهو كده غير في بنية الدالة اللي هي أصلا Built-In زي بالضبط لما واحد يشتري عربية و يغير من بنية وظيفة الكلاكس إنه بدل ما يطلع صوت يخليه كمان يولع الكشافات ... و عشان كده اضطرينا نكتب كلمة Override قبل OnPain عشان نفهم الـ Compiler إننا مش ناويين نعمل دالة جديدة و لكن هانعدل في وظيفة دالة موجودة Built-In ...
يعني ايه Event؟ كلمة event يعني حاجة حصلت ... زي مثلا كليك يمين أو إن البرنامج فتح أو إن المستخدم ضغط على زرار في الكيبورد ... و دي الطريقة اللي بيشتغل بيها الويندوز ... و ده الفرق الاساسي بين الويندوز و الـ DOS ... برامج الـ DOS اسمها Sequence/ Procedure Driven يعني محكومة بتسلسل ثابت ... أما برامج الويندوز فإسمها Event Driven يعني البرنامج يشتغل على حسب الأحداث اللي بتحصل سواء أحداث أوتوماتيكية أو من المستخدم.
يعني ايه EventHandler؟ الـ EventHandler هو جزء الكود اللي بيتنفذ لما الـ Event ده يحصل (أو بالمصطلح الأدق when the Event fires) ... و ده بيتيح للمبرمج إنه يستغل الـ Events اللي المستخدم بيعملها عشان يبني البرنامج ... مثلا لو المبرمج عايز إنه لما المستخدم يدوس على زرار البرنامج يطلع له رسالة ترحيب ... الـ Control هو الزرار ... و الـ Event هو الضغط على الزرار ... و جزء الكود المسئول عن إظهار الرسالة هو الـ EventHandler.
يعني ايه PaintEventArgs؟! أي EventHandler بيحتاج يعرف حاجتين ... ايه اللي حصل و حصل إزاي؟ أو بالأدق إيه الـ Event اللي حصل بالضبط و ايه كانت ظروف حدوثه؟
يعني لو أخدنا الضغط على زرار كمثال للـ Event ... الـ EventHandler بيحتاج يعرف:

نوع الـ Event ... في حالتنا دي هو MouseClick
الـ Event حصل مع مين؟ في حالتنا دي هو الزرار
ايه ملابسات الواقعة؟ و هي دي الـ PaintEventArgs ... و هي أهم معلومة ... و في حالتنا دي تشمل:
الضغطة كانت Right Click ولا Left Click
كانت Single Click ولا Double Click
موقع الماوس فين بالضبط وقت حدوث الـ Event
إلخ إلخأرجو إني أكون وفقت في إيصال المعلومة ... و ياريت لو حد عنده إضافات يقولها عشان الكل يستفيد

totysalah
14-11-2007, 09:18 PM
أخي العزيز عبد الرازق ...


اهلا بيك اخي العزيز رامي

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



الحمد لله ان في حد مقتنع بهدف الدوره دي لاني للاسف كنت بدأت افقد الامل لكن لن اتوقف الي ان يستجيب الاعضاء

وبأذن الله في يوم من الايام ومع بذل المجهود والتعب قليلا سنصل الي ان نتحدي شركات الالعاب العملاقه

والحمد لله ان الموضوع عجبك وافادك واتمني ان يفيد بقيه الاعضاء وان يهتموا بالفكره قليلا



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






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





يعني ايه event و override و onPaint و PaintEventArgs و الحاجات الغريبة دي؟!








شرح واضافه فوق الرائع الف شكر اخي العزيز وكنت اريد ان اضيف شئ لمزيد من التوضيح






يعني ايه Override؟ كلمة Override يعني إنك تغير الخصائص الطبيعية لحاجة معينة ... و دي أهم خاصية في لغات البرمجة الجديدة اللي بيسموها Object-Oriented ... ما علينا ... الـ Override دي بتتيح لك إنك تغير بناء دالة معينة ... يعني بدل ما On Paint بترسم الـ Control ... ممكن المبرمج يخليها ترسمه و تطلع صفارة من السماعات مثلا ... فهو كده غير في بنية الدالة اللي هي أصلا Built-In زي بالضبط لما واحد يشتري عربية و يغير من بنية وظيفة الكلاكس إنه بدل ما يطلع صوت يخليه كمان يولع الكشافات ... و عشان كده اضطرينا نكتب كلمة Override قبل OnPain عشان نفهم الـ Compiler إننا مش ناويين نعمل دالة جديدة و لكن هانعدل في وظيفة دالة موجودة Built-In ...







بالاضافه الي شرح اخي رامي ولمزيد من التوضيح سأعطيكم مثال علي ذلك





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


اي اننا سنغير بناء داله حساب مساحه المربع لنستطيع بها حساب مساحه المكعب وهذا تطبيق مباشر لشرح رامي


// cs_override_keyword.cs// Calling overriden methods from the base classusing System;class TestClass { public class Square { public double x; // Constructor: public Square(double x) { this.x = x; } public virtual double Area() { return x*x; } } class Cube: Square { // Constructor: public Cube(double x): base(x) { } // Calling the Area base method: public override double Area() { return (6*(base.Area())); } } public static void Main() { double x = 5.2; Square s = new Square(x); Square c = new Cube(x); Console.WriteLine("Area of Square = {0:F2}", s.Area()); Console.WriteLine("Area of Cube = {0:F2}", c.Area()); }}



ويكون ناتج الخرج لدينا



Area of Square = 27.04
Area of Cube = 162.24






و ياريت لو حد عنده إضافات يقولها عشان الكل يستفيد



وهذا ما اتمناه ايضا ليتم تبادل الخبرات ويستفيد الجميع


نورت الموضوع يا رامي

إنًسَانِ
15-11-2007, 04:27 PM
للمرة التانية عاوز اقول لك

ان موضوعك من اكتر المواضيع التي استفيد منها في المنتدي

مع تقديري لجميع مواضيع منتدي الالعاب

والله لا اعرف كيف اشكرك علي موضوعك الجميل

اخي العزيز لقد اثبت ان منتدي الالعاب ليس منتدي تضيع الوقت او

التسلية.

وانما من الممكن ان يكون هناك جانب تعليمي في هذا المنتدي لايقل عن

اي منتدي منافس

وفقك الله وجعله في ميزان حسناتك

Bross
15-11-2007, 10:28 PM
موضوع رائع

الردود قليله .... لأن الموضوع يفوق تصور اي شخص

أحييك يا عبده علي الموضوع

aragon2
16-11-2007, 01:49 PM
موضوع رائع وللهو مجهود حلو جدا و اعتقد انه فعلا معلومات قيمه جدا

mamdoh_22
16-11-2007, 08:10 PM
اصلي تسلم ايديك يامان

yoge_1986
16-11-2007, 09:38 PM
فعلا الموضع فوق تصور الواحد انا قولت ارد الاول
وافهم علي مهلي
الف شكر ليك علي المجهود الجبار ده
تسلم يدك عليه
تحياتي لك دائما

mido2000
17-11-2007, 03:37 PM
الموضوع فعلا يا جماعة مفيد جدا ومهم جدا (لكن خلينى اتكلم بصراحة) مشكلته انه صعب شوية على الناس مفيش حد متعود على كدة او حد عنده خلفية برمجية عشان يتقبل الكلام ده بسهولة مثلا انا ببرمج ب C++ و OpenGl فى اختلافات اه لكن الاساسيات واحدة بالاضافة انى اعرف C# لكن الجرافيك بكتبه C++ لانها اسرع و optimized اكتر ومع ذلك ارى انك بتقدم الكلام بشكل مبسط جدا ودى حاجة صعبة اوى وتدل على خبرة منك
على فكرة يعنى لو حد عنده الشغف بموضوع زى ده ممكن يتعلم منه بسهولة وفى الاخر مقدرش اقول غير جزاك الله خيرا على مساعدتك لاخوانك ورغبتك فى تعليمهم اساسيات هذا العلم الكبير

Mohammed Lotfy
17-11-2007, 04:59 PM
أحييك أخى العزيز عبد الرازق على مجهودك الرائع المبذول فى الشرح
و أشكر رامى الغالى على تفاعله المثمر المعتاد
و نتمنى أن نرى بالفعل لعبة كاملة عربية قريبا جدا

totysalah
17-11-2007, 05:30 PM
للمرة التانية عاوز اقول لك

ان موضوعك من اكتر المواضيع التي استفيد منها في المنتدي

مع تقديري لجميع مواضيع منتدي الالعاب

والله لا اعرف كيف اشكرك علي موضوعك الجميل

اخي العزيز لقد اثبت ان منتدي الالعاب ليس منتدي تضيع الوقت او

التسلية.

وانما من الممكن ان يكون هناك جانب تعليمي في هذا المنتدي لايقل عن

اي منتدي منافس

وفقك الله وجعله في ميزان حسناتك



الف شكر اخي الكريم علي مرورك بموضوعي

والحمد لله انه افادك

امين يا رب العالمبن

totysalah
17-11-2007, 05:31 PM
موضوع رائع

الردود قليله .... لأن الموضوع يفوق تصور اي شخص

أحييك يا عبده علي الموضوع





ربنا يخليك يا عمر

ده اقل شئ ممكن احاول اقدمه لأعضاء افضل منتدي وبيتي الثاني

نورت الموضوع يا جميل

totysalah
17-11-2007, 05:34 PM
موضوع رائع وللهو مجهود حلو جدا و اعتقد انه فعلا معلومات قيمه جدا



شكرا يا باشا ونروت الموضوع واتمني انه يكون افادك

اصلي تسلم ايديك يامان

ربنا يخليك ده اقل واجب

فعلا الموضع فوق تصور الواحد انا قولت ارد الاول
وافهم علي مهلي
الف شكر ليك علي المجهود الجبار ده
تسلم يدك عليه
تحياتي لك دائما


بأذن الله تفهم الموضوع كويس

وتحبه كمان

وان شاء الله غدا حنزل فهرس لمواضيع الدوره عشان لو حبيت تتطلع عليها من الاول انت او اي حد من الاعضاء لمزيد من الفهم

وان شاء الله الدروس القادمه ستوضح العديد من الاشياء المبهمه في الدروس السابقه

totysalah
17-11-2007, 05:46 PM
الموضوع فعلا يا جماعة مفيد جدا ومهم جدا (لكن خلينى اتكلم بصراحة) مشكلته انه صعب شوية على الناس مفيش حد متعود على كدة او حد عنده خلفية برمجية عشان يتقبل الكلام ده بسهولة مثلا انا ببرمج ب C++ و OpenGl فى اختلافات اه لكن الاساسيات واحدة بالاضافة انى اعرف C# لكن الجرافيك بكتبه C++ لانها اسرع و optimized اكتر ومع ذلك ارى انك بتقدم الكلام بشكل مبسط جدا ودى حاجة صعبة اوى وتدل على خبرة منك


على فكرة يعنى لو حد عنده الشغف بموضوع زى ده ممكن يتعلم منه بسهولة وفى الاخر مقدرش اقول غير جزاك الله خيرا على مساعدتك لاخوانك ورغبتك فى تعليمهم اساسيات هذا العلم الكبير





اهلا بيك يا باشا

انا عارف ان اكيد حيكون الموضوع صعب شويه علي الناس عشان كده بدأت من الاول ولو تلاحظ ان تميهد الدوره موضوع مثبت بحيث اي حد يقراه يستعد للفكره وميتصدمش ويقول ايه الحاجات المعقده دي


وبأذن الله الدرس القادم حبدئ في كيفيه كتابه الاكواد يعني انا متلبطش من حد انه يفهم حاجه من الكود المهم الكلام الي قابله يتفهم كويس لان الدروس القادمه حنبدئ نستخدم Visual Studio 2005 وبأذن الله حيكون شرحهها مبسط جدا اي حد بيستخمها لأول مره ممكن يفهمها

وطبعا كتابه الاكواد c++ صعبه حاليا علي حد لسه بيتعلم البرمجه برده انت خبير و عارف ان c++ اصعب من c#



طبعا انا سعيد جدا ان الموضوع عجبك

والحمد لله اني بدات الاقي بعض الاعضاء عندهم خبره في برمجه الالعاب

قريبا ان شاء الله حراسلك لتكوين فريق يختص بعمل لعبه ان حضرتك وافقت لكن بعد حبه تنظيمات وانتهي من بعض مشاغل لدي


وجزاك الله خيرا علي مرورك الكريم

نورت الموضوع يا باشا

totysalah
17-11-2007, 05:50 PM
أحييك أخى العزيز عبد الرازق على مجهودك الرائع المبذول فى الشرح


و أشكر رامى الغالى على تفاعله المثمر المعتاد

و نتمنى أن نرى بالفعل لعبة كاملة عربية قريبا جدا





اهلا بيك يا محمد

نورت الموضوع يا جميل

شكرا اوي بس ده واجبي

فعلا رد رامي من افضل الردود الي شوفتها في الدي في دي ككل لأني اضافت شئ ومعلومه قيمه للموضوع

لو اصبحت ردودنا علي كل المواضيع كذلك ستتغير حاجات كتيير في المنتدي للاحسن


بأذن الله نري لعبه ديفيديوايه وعربيه قريبا جدا


وتفاصيل الموضوع حبقي اراسلك بيها عشان حيحتاج جهد وتنظيم كبير مننا ان شاء الله

mido2000
17-11-2007, 10:32 PM
انا طبعا مستعد وعندى مفاجاة ليك هقولهالك بقى لما تراسلنى عشان نظبط مع بعض

حسام محمد
18-11-2007, 01:21 AM
موضوع جامد جدا بس فعلا محتاج ناس عندها خلفيه كويسه عن المووضوع لان اي مصطلح مكتوب ممكن يتعمل بيه كتاب يتكلم عنه
بس طبعا مجهود جبار في تسهيل الماده العلميه بس الحكايه كبيره قوي يعني اظن الناس اللي بتتخيل الالعاب معموله ازاي بتقول صعبه وبعد استكمال المضووع بالكامل هيحسوا ان اللي بيعملوا الالعاب من عالم تاني وانهم مستحيل يبقوا زيهم

™MαFiα
19-11-2007, 12:15 AM
مُتألق كلعاده أخي الحبيب عبد الرازق ..
وبكل تأكيد سلسله تعليميه مُتميزه لا يقدر عليها سواك ..
سلمت يمينك عزيزي .. وإن شاء الله يتحقق حلمنا جميعاً قريباً بلعبه عربيه 100% ..
وبإنتظار المزيد من الروائع عزيزي ..

hassan abotrika
19-11-2007, 02:41 AM
اولا الف شكر لك اخى الكريم totysalah على الموضوع الجبار ده
ثانيا انا ليا تعليق على كلام الاخ العزيز genni

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

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

واعتقد ان من الواضح ان ده مجال دراستكم سواء الاخ totysalah اوgenni

فهيبقى صعب على الاخوه الاعضاء اللى معندهمش فكره عن مجال البرمجه المشاركه

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

totysalah
21-11-2007, 06:03 PM
موضوع جامد جدا بس فعلا محتاج ناس عندها خلفيه كويسه عن المووضوع لان اي مصطلح مكتوب ممكن يتعمل بيه كتاب يتكلم عنه
بس طبعا مجهود جبار في تسهيل الماده العلميه بس الحكايه كبيره قوي يعني اظن الناس اللي بتتخيل الالعاب معموله ازاي بتقول صعبه وبعد استكمال المضووع بالكامل هيحسوا ان اللي بيعملوا الالعاب من عالم تاني وانهم مستحيل يبقوا زيهم


ولله يا باشا المصطلحات والاكواد بأذن الله سيتم شرحها في الدروس القادمه اننا بس لغايه دلؤتي بوضح للناس الخلفيه الرياضيه

totysalah
21-11-2007, 06:05 PM
مُتألق كلعاده أخي الحبيب عبد الرازق ..

وبكل تأكيد سلسله تعليميه مُتميزه لا يقدر عليها سواك ..
سلمت يمينك عزيزي .. وإن شاء الله يتحقق حلمنا جميعاً قريباً بلعبه عربيه 100% ..
وبإنتظار المزيد من الروائع عزيزي ..




ربنا يخليك اخي العزيز مصطفي

منور الموضوع ولله

لا ابدا دي حاجه بسيطه في المجال ده في ناس احسن مني بكتييييييييييييير

الف شكر يا جميل

بأذن الله حنشوفها قريبا وكيس انك خلصت امتحانات عشان نبدأ في الموضوع ده

snap2244
21-11-2007, 09:26 PM
بسم الله
أنا كنت عاوز أسئلك حاجة
أنا كنت خلاص قررت أنى أبدء برمجة ب XNA
اللى عاملاه MS game studios
و خلاص نزلت ال Matrials بس الأمتحانات خلتنى أئجله
فلو انته جربته ؟ أيه رأيك فيه كأساس
يعنى أعتقد إن شوية ال Classes اللى فيه
هتساعدنى حلو
ولا أمشى معاك أحسن ؟

و طبعاً أنا متابعك من أول موضوع
و شكراً جداً على مجهودك

المعركة الفاصلة
05-03-2008, 02:46 PM
مشكور ياطيب عل تعب والله وتستاهل كلمة شكرا علة كل

حرف كتبتة وتعب عليه

تقبل شكري الك واعتزازي باخواني المصريين اني اخوكم

( المعركة الفاصلة ) من العراق الاسد الجريح
الي رفعوا راس مصر وراس العرب كلهم بامم افريقيا