2 مرفق
دورة c-script الدرس الخامس (الارقام والنوافذ)
بسم الله الرحمن الرحيم نبدء درسنا لهذا اليوم وهو عن كيفية كتابة الارقاموصنع النوافذ:
الأرقام والنوافذ
الأرقام
حسناً لقد عرفنا كيف نقوم بكتابة اللوحــات لنتعرف الآن كيف نكتب الأرقام لاحظ المثال التالي:
كود:
////////////////////////////////////////////////////////////////////
PANEL first_pan
{
digits (410, 200, 2, _a4font, 1, sys_seconds);
flags = VISIBLE;
}
/////////////////////////////////////////////////////////////////////
أَحب الأمثلة القصيرة، لَكنِّي أَرى شيءَ غريبَ هنا: اعتقدت ان تعريف اللوحــات يجب ان يتضمن bmap = some_bitmap; ، وa pos _x وpos _y لتحديد الموقع! حَسناً. . . إذا أنت لَسْتَ بِحاجةٍ إلى صورة للوحتك هذه أنت لَسْتَ بِحاجةٍ إلى أَنْ تُضيفَ ذلك السطر مِنْ الأكواد. ماسنعرضه هنا هو ارقام فقط لذلك نحن لسنا بحاجة الى الصور!!
دعنا نشرح هذا السطر من المثال اعلاه:
كود:
digits (410, 200, 2, _a4font, 1, sys_seconds);
- "digits" الكلمة الدليليةُ التي يجب ان نستعملها عندما نريد عرض رقم على الشاشةِ؛
- العددان الأولان يعنيان الموقــع pos_X=410 pos_y=200 وهما ضروريان لعرض الارقام على الشاشة...
- 2. في هذه الحالةِ هي فقط 99 رقمان فقط بينما عندما نستبدله بالرقم خمسه فانه سيعرض الاعداد التي تصل الى 99.999
هكذا ستصبع معقدة حي ستعطينا الكسور العشرية.....
-_a4font , مجموعة من الخطوط التي نستعملها لعرض الارقام......؛
- 1 عامل المضاعفه اي بمعنى ان العدد يزيد 1 كل ثانية يمكنك استعمال اكبر ااذا كنت تريد استخدامها بزيادة 7 اعداد مثلاًِ؛
- أخيراً ,sys_seconds اسمُ المتغيّرِ الذي سَيَعْرضُ. أنت يمكن ان تستبدله باي متغير آخرسواء انت انشئته او افتراضيات قدمها البرنامج...
حسنناً بعد ان قمنا بشرح الكود لنرى كيف نكتب الكود لاظهار الارقام بشكل عام:
كود:
digits (x, y, format, font, factor, variable);
(ملاحظة: في الأكواد القديمةِ التي أنت سَتَجِدُه مكتوب في أغلب الأحيان بشكل مختلف،مثل
كود:
"digits = x, y, format, font, factor, variable;"
في أكثر الحالاتِ الأخرى، يَقْبلُ المحرّكَ أساليبَ كتابة مختلفةِ هنا التي تَنْتجُ مِنْ التأريخِ القديمِ لAcknex).
دعنا نقوم باجراء تدريب عملي بسيط...
افتح برنامج sed وقم بكتابة الكود التي وحفظه:
كود:
////////////////////////////////////////////////////////////////////
var video_mode = 7; //800*600 بكسل
var screen_color[3] = 150,0,0;//ازرق غامق
////////////////////////////////////////////////////////////////////
PANEL first_pan//تعريف اللوحة عرفنا شرحا له بالدرس السابق
{
digits (410, 200, 2, _a4font, 1, sys_seconds); //شرحناه بالاعلى لأضهار الارقام
flags = VISIBLE;//لاظهار اللوحه
}
/////////////////////////////////////////////////////////////////////
قم بتشغيله ولاحظ ماذا سيظهر سيظهر لك عداد ثواني يتحرك مثل تحرك وقت ثواني ساعة الكمبيوتر....
الآن لنقم بصنع ساعة تسير مثل وقت الكمبيوتر.......
قم بكتابة هذا الكود:
كود:
var video_mode=7;
var screen_color [3]=150,0,0;
panel first_pan
{
digits(50,60,2,_a4font,1,sys_hours);//أظهار الوقت بالساعات
digits(70,60,2,_a4font,1,sys_minutes);//اضهار الوقت بالدقائق
digits(90,60,2,_a4font,1,sys_seconds);//أظهار الوقت بالثواني
flags = visible;
}
ثم قم بحفظه
ولاحظ ماذا سيظهر.....
ملف مرفق 307912
تدريب:قم بجعل الساعة تضهر فوق صورة انشئناها لتوضيح اكثر انضر للصورة ادناه:
ملف مرفق 307913
1 مرفق
رد: دورة c-script الدرس الخامس (الارقام والنوافذ)
النوافذ ويندوز
انا هنا لا اتحدث عن نظام التشغيل ؛ أُريدُ اخبارك فقط كيف نقوم بصنع نافذة باللعبة , ونقصد بالنوافذ هنا هي المتغير الذي نستخدمه لعرض جزء من الصورة. إذا كنت لست متأكد بان هذذه النوافذ مفيدة للعبتك لنرى الان، فالنوافذة ستفيدك مثلاً عندما تريد صنع بوصلة(بأتجاه اليمين او اليسار)او عندما تريد صنع شريط الصحة او الرصاص شاهد معي مثال لشريط الصحة:
http://c.imagehost.org/0013/1_21.jpg
دعني اريك كيف تعمل هذه النوافذ عندها انت يمكنك ان تحدد فيما تحتاجها:
دعنا نَتخيّلُ بأنّنا نُريدُ إسْتِعْمال مصباح كاشف بلعبتنا,ونريد عرض شريط بسيط للبطارية فعندما تكون البطارية ممتلئة يضهر لنا صورة خضراء وعندما تكون البطارية تشتغل يظهر لنا صورة صفراء وعندما لايوجد شحن بالبطارية يظهر لنا صورة حمراء هل فهمت علي
شاهد الصور:
http://c.imagehost.org/0205/shr7.jpg
http://c.imagehost.org/0808/shr7.jpg
http://c.imagehost.org/0087/shr72.jpg
بالطبع انه عندما تتنقل اشرطة بطارية الكشاف بهذه الطريقة سيعطي اللعبة طابعاً جميلاً اليس كذلك:؟؟!
http://c.imagehost.org/0519/shr72.jpg
لاتقلق من صعوبة الامر فهذا كله يمكن ان يصنع من صورة بسيطة مثل هذا:http://c.imagehost.org/0597/shr72.jpg
هذا يجعل من النافذة تظهر الموضوع عليه مربع فقط وكلما نقصت نسبة البطارية نقص هو معها.:
http://c.imagehost.org/0982/shr72.jpg
هذا يجعل مايظهر للاعب هو فقط المحدد بالمربع فقط ولابيض لايظهر لانه فقط عمله كزينة
لننتقل لدرس العملي لهذا اليوم بعدما تعرفنا على الاساسيات:
الان لنقم بتصميم مقياس ارتفاع لطائرتنا يشبه هذا :
http://c.imagehost.org/0013/shr7.jpg
نحن سنحتاج هنا الى صوره تشبه هذه
http://c.imagehost.org/0739/shr7.jpg
ملاحظة*حمل الصورة والفريم من المرفقات*
نحن طبعا لانحتاج ان تظهر النافذة كلها بل الارتفاع الذي نريد فقط!!؟ مؤكد انك ستقول لي كيف اكمل وهتعرف ان شاء الله...
قم بفتح برنامج Sed واكتب الكود التـــالي:
كود:
///////////////////////
//بسم الله وعلى بركة الله
//////////////////////
var video_mode=7;
var screen_color[3]=150,0,0;
var meter=0;//متغير الارتفاع
panel plane_meter//شرحناها بالدروس السابقة
{
bmap = "frame.pcx"; //صورة الفـريم
window (40, 10, 178, 160, "height.pcx", 0, meter);//نافذة الارتفاع المتغيرة
flags=visible;//لاظهار اللوحة
}
وقم بحفظه بنفس المجلد الذي وظعت به الصور
وقم بتشغيله
ثم اظغط على زر tab بلوحة المفاتيح واكتب meter=150 وشاهد النتيجة
لنعرف الان كيف نعرف اي نافذة خطوة بخطوة:
كود:
window (x, y, size_x, size_y, bitmap, variable_x, variable_y);
- window الكلمة الدليلية التي يجب ان نعرفها كل مرة عندما نريد وضع ناذة باللعبة؛
- x وy يَعطي موقعَ النافذةِ على الوحة. إذا اللوحة عندها القيم التالية مثلا pos _x = 200 وpos _y = 100 ونافذتنا لَها x = 30 وy = 20، الصةورة التي استعملناها ستوضع في الموقع x = 230 وy = 120 على الشاشةِ.
- size _x وsize _y يعطي حجم النافذة في اللعبة على x وy. تذكّرْ بأنّ صورة النافذةَ بنفسها ضخمةُ؛ هذه الأرقامِ سَتَضِعُ حجمَ الجزءِ المرئيِ للصورة على x وy؛
- bitmap اسم يعرف مثل bmap لاكن دون كتابة الكلمة الدليلية بل كتابة اسم الصورة مباشرة وهي صورة النافذة التي سنستخدمها، ِ في مثال الارتفاع استخدمنا الصورة (height_pcx)؛
- variable_x يَعطي التحريك الأفقيَ لصورة النافذة. نحن لا نُريدُ تَحريك الصورة الحمراءِ إلى اليسارِ أَو إلى اليمين لذا نَستعملُ صفر هنا؛
- variable_y يَعطي التحريكَ العموديَ لصورة النافذةِ. نُريدُ تَحريك الصورة الحمراءِ فوق وأسفل لذا وَضعنَا متغيّر هنا (meter).
تدريب: لايوجد تدريب قم بالتدرب على نوافذ تقوم بتصميمها مثل الصحة
الدرس القادم الأزرار وأشرطة التمرير
رد: دورة c-script الدرس الخامس (الارقام والنوافذ)
عندي كلمتين بس
انت جباااااااااااااااااااااااااااااااااااار
في امان الله
رد: دورة c-script الدرس الخامس (الارقام والنوافذ)
لي عودة بعد فهم الدرس جيدا
رد: دورة c-script الدرس الخامس (الارقام والنوافذ)
أخي روعة على روعة
لكن ..مازبطت معاي صورة الطاقة وكذا..
دائما يطللع لي خطأ ...
حتى سكربتك فيه خطأ ؟!
تأكدت من وضع الصور وكل شيء ولكن هناك خطأ..
الارقام فهمتها جيدا وطبقتها
بالنسبة الى تدريب الارقم عملته والتنجية ^^ مو سيئة
أرجوا الحل
1 مرفق
رد: دورة c-script الدرس الخامس (الارقام والنوافذ)
نجح كل شيء تمام
تطبيق التدريب في المرفقات
في الرد القادم تطبيق الطاقة ...راح أعمل دواء
1 مرفق
رد: دورة c-script الدرس الخامس (الارقام والنوافذ)
تم عمل التدريب
الثاني
وهو فقط تجربة
مشكور على الدروس
رد: دورة c-script الدرس الخامس (الارقام والنوافذ)
اقتباس:
المشاركة الأصلية كتبت بواسطة LordOfThunder
عندي كلمتين بس
انت جباااااااااااااااااااااااااااااااااااار
في امان الله
مشكور على الرد المشجع جدا :biggthump
في امان اللع
اقتباس:
المشاركة الأصلية كتبت بواسطة Game baker
أخي روعة على روعة
لكن ..مازبطت معاي صورة الطاقة وكذا..
دائما يطللع لي خطأ ...
حتى سكربتك فيه خطأ ؟!
تأكدت من وضع الصور وكل شيء ولكن هناك خطأ..
الارقام فهمتها جيدا وطبقتها
بالنسبة الى تدريب الارقم عملته والتنجية ^^ مو سيئة
أرجوا الحل
ماادري صراحه تاكد جيدا الفاصلة المنقوطة لاتنساها ابد
اقتباس:
المشاركة الأصلية كتبت بواسطة Game baker
نجح كل شيء تمام
تطبيق التدريب في المرفقات
في الرد القادم تطبيق الطاقة ...راح أعمل دواء
تطبيق ممتاز ورائع لك مستقبل باهر ان شاء الله
اقتباس:
المشاركة الأصلية كتبت بواسطة Game baker
تم عمل التدريب
الثاني
وهو فقط تجربة
مشكور على الدروس
تجربة جيدة
واصلوا جميعا والى اللقاء
رد: دورة c-script الدرس الخامس (الارقام والنوافذ)
مشكوووووووووووووووووووووور وبارك الله بيك.............
........................
رد: دورة c-script الدرس الخامس (الارقام والنوافذ)
ممتااااااز جداااا
موضوع مميز
موفق في الدوره