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

خبير  أحمد عزالدين مشاركة 51

السلام عليكم

لدي تعليق بسيط ان امكن 😏
ان بيئة VS2008 تقدم مصمم برامج wpf والمصمم اكثر من رائع فهل يمكنكم اضافة مثل هذه الخاصية كما في الصورة للمحرر


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

ارجو الا اكون ازعجتكم بالفكرة لكني رأيتها واعجبتني فقلت اقترحها فنتعلم جميعا كيف يمكن عملها او عمل افكار مماثلة😏

بالتوفيق ان شاء الله😄
والسلام عليكم

أحمد عزالدين
طالب دراسات عليا
جامعة كالجري

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

أما في 10 اغسطس 2008 03:19 ص، فقد تنهد KfuPower بارتياح وهو يرد:

أعتذر كثيرا عن هذا الإنقطاع الطويل ... 🙁

هل مازال المشروع مستمرا ؟

أقدر ظروفك يا أخ KfuPower، وآمل أن تكون الأوضاع الآن أكثر استقراراً.  نعم المشروع مستمر وهو بحاجة شديدة إلى خدماتك لإتمام المصمم، حيث أننا سنقوم بإضافة ميزة المشاعل، ولا نستطيع حتى الآن إتمام برمجتها دون دعم في المرحلة. فلنتابع من حيث وقفنا! 😄
 
 

في 10 اغسطس 2008 05:45 ص، غمغم ahmed ezz باستغراب قائلاً:

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

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

بتاريخ 10 اغسطس 2008 05:45 ص، قطب ahmed ezz حاجبيه بشدة وهو يقول:

وبالطبع سيكون شكل الماوس عبارة عن مربع يمثل خلية من خلايا الحجرة وسيكون ذلك اوضح جدا اذا تم تفعيل الشبكة عند التصميم

فكرة ممتازة! أرجو أن يضعها KfuPower موضع التنفيذ... 😄

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

موهوب  ياسر أبوبكر مشاركة 53

في 10 اغسطس 2008 02:23 م، غمغم وسام البهنسي باستغراب قائلاً:

أقدر ظروفك يا أخ KfuPower، وآمل أن تكون الأوضاع الآن أكثر استقراراً.

شكرا جزيلا لك ... نعم الأن الأوضاع أفضل بكثير ولله الحمد 😄

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



بتاريخ 10 اغسطس 2008 02:23 م، قطب وسام البهنسي حاجبيه بشدة وهو يقول:

فكرة ممتازة! أرجو أن يضعها KfuPower موضع التنفيذ...

سوف يتم ذلك إن شاء الله بالإضافة إلى بعض التعديلات الأخرى .... سوف أعيد تحميل البرنامج مرة أخرى لأن عملت فورمات للجهاز بسبب كم فايروس لعين 😠 (الحمد لله توجد نسخة على الموقع😋 ) ... بالإضافة أذكر أن كان لدي كم سؤال أريد أن أسألهم ... سأعود لهم لاحقا 😄

خبير  أحمد عبد الغني مشاركة 54

أنا متشوق لأشوف المحرر الجديد
 
ما هي آخر الأوضاع (kfupower?)

اللهم انصر أهلنا في فلسطين وآجرنا أن نكون عوناً لهم

موهوب  ياسر أبوبكر مشاركة 55

السلام عليكم 😄

اخر التطورات هي هذه النسخة البدائية المبدأية التمهيدية : KV Level Maker V 0.45 
وهي موجودة هنا : http://www.zshare.net/download/1716329793a90203

أولا وقبل كل شئ هذه النسخة تحتوي العديد من الأخطاء

أولها :
   عدم دقة الماوس (الدقة تزيد كلما إقتربت من منتصف الشاشة الرسم)
      سؤال:يا إخوانا المبرمجين في قسم ++C 😭 ماهي الأبعد الفعلية التي سوف يتم فيها الرسم نسبة إلى حجم شاشة الرسم؟؟ (إنظر الصورة لشرح أوفر )







  لم يتم إضافة أوامر للقوائم المنسدلة بعد (فلذلك لا تتعب نفسك بكثرة الضغط عليها😄 )
     سؤال:أريد بعض التوضيح في كيفية إظهار form إبن من الـform الأب الرأيسي أي في حالتنا هذه الأب هو KVform_main بحيث لا يمكن الرجوع إلى الفورم الأب إلا بعد الإجابة وإغلاق الفورم الإبن؟

  بعض الخيارات غير متاحة بعد (كإختيار لون الهرم ولون الجواهر و نوع الوحوش)
    تكملة للسؤال السابق: بالإضافة إلى ذلك يجب جعل كل شئ يتم التصريح عنه في الفورم الإبن (كالمتحولات مثلا) مرئيا بالنسبة للفورم الأب؟
 
شكل الماوس لا يتغير بعد

هذه هي الأمور التي سوف أركز عليها في النسخة القادمة ! ... أعتقد أن هناك أمور أخر أيضا 😒 ؟

  مبدئيا سوف يتم إنشاء هرم بالون الأصفر ويحتوي على حجرة واحدة فقط 😳

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

خبير مشرف مؤيد مارديني مشاركة 56

أما في 17 آب 2008 08:47 ص، فقد تنهد KfuPower بارتياح وهو يرد:

سؤال:أريد بعض التوضيح في كيفية إظهار form إبن من الـform الأب الرأيسي أي في حالتنا هذه الأب هو KVform_main بحيث لا يمكن الرجوع إلى الفورم الأب إلا بعد الإجابة وإغلاق الفورم الإبن؟
تكملة للسؤال السابق: بالإضافة إلى ذلك يجب جعل كل شئ يتم التصريح عنه في الفورم الإبن (كالمتحولات مثلا) مرئيا بالنسبة للفورم الأب؟

استخدام الحدث ()ShowDialog لإظهار الفورم بدلاً من الحدث ()Show المستخدم عادةً.
بالنسبة للقسم الثاني من السؤال، لا يجب جعل كل ما يتم التصريح عنه في الفورم الابن ظاهراً للفورم الأب، أظهر ما تحتاج إليه فقط.

بالمناسبة، لم أتابع تفاصيل محرر المراحل منذ زمن، و أعجبني محررك هذا جداً، رائع!

بالتوفيق.

Moayad Mardini,
MSDN Forums Moderator

خبير  أحمد عزالدين مشاركة 57

في 17 اغسطس 2008 07:47 ص، غمغم KfuPower باستغراب قائلاً:

سؤال:يا إخوانا المبرمجين في قسم ++C ماهي الأبعد الفعلية التي سوف يتم فيها الرسم نسبة إلى حجم شاشة الرسم؟؟ (إنظر الصورة لشرح أوفر

اخي الكريم لدينا الاحداثيات الاتية والتي تصف كل شئ في اللعبة 😏

#define SCREEN_WIDTH 640
#define SCREEN_HEIGHT 480
#define GAME_FPS 60

#define CHAMBER_LEFT 16
#define CHAMBER_TOP 64
#define CHAMBER_RIGHT (SCREEN_WIDTH-16)                      // 624
#define CHAMBER_BOTTOM (SCREEN_HEIGHT-80)                    // 400
#define CHAMBER_WIDTH (CHAMBER_RIGHT-CHAMBER_LEFT)           // 608
#define CHAMBER_HEIGHT (CHAMBER_BOTTOM-CHAMBER_TOP)          // 336
#define CHAMBER_CELL 16
#define CHAMBER_CELLS_X (CHAMBER_WIDTH/CHAMBER_CELL)         // 38
#define CHAMBER_CELLS_Y (CHAMBER_HEIGHT/CHAMBER_CELL)        // 21

بالنسبة لسؤال فالاجابة من هذه القيم فنري ان حجم الحجرة والتي سيكون الرسم داخلها حصريا
هو  608 بيكسل عرضا و 336 بيكسل ارتفاعا

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

أحمد عزالدين
طالب دراسات عليا
جامعة كالجري

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

عمل رررررراااائع! 😄
 
القطعة الناقصة من الصورة هي فقط عملية حساب الإحداثيات، والتي تتسبب بعدم الدقة التي نراها في هذه النسخة.
تقدم وحدة الرسم خدمات حساب الإحداثيات دون الحاجة لأن تشغل بالك بتفاصيل الحسابات الداخلية... لذلك يمكن استبدال كود حساب x1، y1 ،x2، y2 بالآتي:
 

void gameEd_MouseDown(object sender, MouseEventArgs e)
{
  Point ptGame = gameEd.PixelToGameCell(e.Location);
  y1 = ptGame.Y;
  x1 = ptGame.X;
}
 
وهكذا...  طالما أنك تستخدم الإجراء PixelToGameCell فإنك ستريح نفسك من عناء حساب الإحداثيات بشكل دقيق وأخذ حجم النافذة بعين الاعتبار و و و ...
 
لقد تم إغفال ذكر الأبعاد الحقيقية بالبكسل لأرض اللعب إيماناً منا بأنك لا يجب أن تحتاجها ☺
 
إن نظام إحداثيات اللعبة الرئيسي هو الخلايا. يوجد في الحجرة 38 خلية بالعرض، و21 خلية بالطول، ولتفادي كتابة الرقم كل مرة، يمكنك استخدام الثوابت Chamber.CellsX و Chamber.CellsY...
 
كنصيحة أخيرة، استخدم ميزة رسم الشبكة كي تساعدك على توضيع الأجسام بدقة أكثر... يمكنك تفعيلها عن طريق الكود:
 

gameEd.ShowGrid = true;
 
في أي وقت تريد (يمكنك ربطها بزر مثلاً)
 
(شكر خاص لأحمد عز الذي كتب الكود الخاص برسم الشبكة ☺ )

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

موهوب  ياسر أبوبكر مشاركة 59

شكرا جزيلا لردودكم اللطيفة 😄 وكذلك للتوضيحات التي قمتم بها ... لقد حمسني ذلك لعمل المزيد وتوصلت إلى هذه النسخة من محرر المراحل
النسخة : KV Level Maker V 0.86
التحميل : http://www.zshare.net/download/1721351107d0086c

في هذه النسخة :

تم حل الكثير المشاكل --أرجو ذلك 😒 -- أهمها مشكلة "الدقة الضائعة" بالإضافة إلى بعض التطوير في الجوانب الأخرى ... أرجو أن تعجبكم ... وأنا بإنتظار اراؤكم 😄

ولكن لدي بعض الأسئلة :
1 - أريد بعض الإقتراحات لإفضل طريقة يتم فيها  تغير شكل مؤشر الماوس بأشكال معدة مسبقا ؟
2- نداء إلى الزملاء في قسم ++C 😭 : أريد بعض التوضيح عن كيفية حفظ الخريطة في ملف ؟ وكيفية قراءتها مرة أخرى (فتح الملف)؟

شكرا

خبير  أحمد عزالدين مشاركة 60

السلام عليكم
مشكور اخي علي التعديلات😄

وفي 18 اغسطس 2008 07:38 ص، قال KfuPower متحمساً:

- أريد بعض الإقتراحات لإفضل طريقة يتم فيها  تغير شكل مؤشر الماوس بأشكال معدة مسبقا ؟
لقد ارفقت مثال يوضح لك طريقة تحميل ملف لمؤشر الماوس
لكن للاسف لا اعتقد هذه الطريقة تصلح الا اذا كان نوع ملف المؤشر  😭 ani or cur

اعتقد ان الطريقة التي سيجب ان تتبعها هى ان تقوم برسم صورة في المكان الذي سيكون فيه مؤشر الماوس
وذلك تبعا للحدث MouseMove
 ومع ان هذه الطريقة هي الاصعب الا انني اعتقد انها ستتيح لك رسم اي شئ في اي مكان تبعا لحركة الماوس


وفي 18 اغسطس 2008 07:38 ص، ظهر شبح ابتسامة على وجه KfuPower وهو يقول:

أريد بعض التوضيح عن كيفية حفظ الخريطة في ملف ؟ وكيفية قراءتها مرة أخرى (فتح الملف)؟
اتمني ان يجيبنا الاخ وسام 😄 جميعا حول هذا الموضوع
لانه في كود السي بلس بلس نعتمد علي بعض ال structure والتي تصف كل اجزاء المرحلة ومن ثم المكتبة CoreLib تقوم بقراءة اجزاء المرحلة
بالاعتماد علي وصف هذه التراكيب.

بالتوفيق ان شاء الله

أحمد عزالدين
طالب دراسات عليا
جامعة كالجري