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

مشاهدة النسخة كاملة : الدرس الخامس بدورة c-script (الصور واللوحـــات)



ديمو1
26-09-2008, 08:09 PM
الصور:

هي مجموعة من البتات انشئت بواسطة احدى برامج تصميم الصور. الملف يُمكنُ أَنْ يَكُونَ في عِدّة صيغ: pcx , bmp, tga, dds, jpg. . . ، في وضع 24 لون ِ (موصّى به جداً) أَو بوضع8 لون (ليس موصى به جداً)

يمكنك انشاء صورك بواسطة العديد من برامج الصور مثل الفوتوشوب والبينت شوب وغيرهــــا.....

كيف نقوم بتعريف الصورة بالسكربت:


BMAP health_pcx = "health.pcx";

حسناً لنشرح الكود بالأعلــي اولا قمنا بكتابة الكلمة الدليلية BMAP وهي افتراضية لازم نكتبها عندما نريد وضع صورة ثم بعد ذلك قمنا بأعطاء الصورة اسماً وفي حالتنا هذه قمنا بأعطاءها health_pcx صورة الصحة ثم بعد ذلك كتبنا اسم الصورة بالجهاز *يجب ان تكون الصورة بنفس مجلد السكربت او بمجلد فرعي سنعرف كيف ذلك بدروس اخرى ان شاء الله* ويجب كتابة اسم الصورة بين علامتي التنصييص (" " ) او بين ( < > ) ثم اغلقنا السطر بعلامة الفاصلة المنقوطة كما فعلنا بالدروس السابقة ويفضل اعطاء الصور اسماً يسهل تذكره مثلاً لوكتبنا الصورة بهذا الشكل:


bmap test = "health.pcx"; ؛

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


bmap health = "health.pcx";

فهذا بالاعلى سيمكنك تذكره ومعرفة فائدته...لاكن انا لاافضل ان تسمي الصور بأسم مثل health او ammo بل افضل ان تسمها هكذا health_pcx او ammo_pcx ف pcx هنا صيغة الصورة pcx لانه يجب ان يختلف اسم الصورة عن اسم المتغير اي يجب الا نكتب متغير بهذه الصورة:

var ammo;
ثم نعطي الصورة هذا الاسم :

bmap ammo="ammo.pcx"
هل فهمت علي

ولا يشترط ان يكون بعد اسم الصورة pcx بل يمكنك اعطاء الصورة اسماً يدل على صيغتها مثل مابالأسفل:


bmap ammo_bmp = "ammo.bmp";
bmap armor_tga = "armor.tga";

ويمكنك استعال طرق تسمية اخرى ، على سبيل المثال bmHealth (الـ bm ببداية الأسم اختصار للصيغة bmp). مهما تستعمل تأكد بان تكتبه صحيحا عندما تريد اضهاره

ان الصور مصادر مهمة لألعابنا,فانت اعرف انك عندما ترى صورة بالشاشة في اي لعبة اعرف ان ورائها رمزا تم تعريفه لأضهارها ,أذن ماذا ننظر لنظهر هذه الصور بالعابنا الآن......لكن قبل ذلك يجب ان نتعرف على بعض الشروط المهمة قبل ذلـك ونتعرف على......

اللوحات:

تحتاج كل لعبة لاستخدام اللوحـات! فنحن نحتاج لاستخدام قائمة رئيسية وشريط صحة ولوحة تحكم الخ...الى لعبتنا واللوحات هي اشياء ثنائية الابعـاد بعالم ثلاثي الابعاد:

لنرى احدى الامثلة من احدى اللوحـات :
307879



ماذا يمكننا ان نصنع بهذه اللوحات الثنائية الابعاد بداخل المحرك......؟
أ) لوحات قياسية (Standard panels),التي من الممكن ان تستخدم لوضع اشياء جمالية بالعالم الثلاثي الابعاد
ب) أرقام (Digits)، عناصر من اللوحات يمكن ان تعرض اعداد؛
ت) نوافذ (Windows)، عناصر من اللوحات التي من الممكن ان تعرض مثلاً شريط الصحة او خريطة من الصور متحركه للاعب؛
ث) أزرار (Buttons)، عناصر من اللوحات قابلة للنقر لتنفيذ بعض المهام؛
ج)اشرطة تمرير(Sliders),هي مثل تلك التي يمكن ان نتحكم بحجم الصوت والخ.......

الا ترى تبدو هذه اللوحات اشياء قوية نضيفها للعبة اليس كذلك لنرى الان صور توضيحية لما شرحناه بالاعلى:


307880



والآن حان وقت العمــــــــلي بالرد القادم ان شاء الله..........:wink2:

ديمو1
26-09-2008, 08:16 PM
بسم الله ننتقل لتطيق العملية وه مثال بسيط يعلمك كيف تعمل الوحات

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

var vedio_mode=7;//نمط العرض 700*800
var screen_color[3]=150,0,0;//اللون ازرق كحلي


bmap test ="1.pcx";//الصور التي نريد ادراجها


panel pan_montada//اللوحة التي ستتضمن الصورة بالاعلى
{
pos_x=130;////تحديد الموقع على المحور أكس
pos_y=150;////آي تحديد الموقع على المحور
layer=1;//الطبقة سنشرحها لاحقاً
bmap= test;//الصور التي ستعرض بالوحة
flags = overlay,visible;//لأضهار الصورة

}

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

عندما نريد تعريف اي لوحة فأننا نعرفها بالكلمة الدليلية panel يليها اسم اللوحة ثم طقم الاقواس المجعدة {} وفي هذه الاقواس نكتب مجموعة من الاوامر.........
بسيط اليس كذلك.........

الآن قد يتبادر الى ذهنك هذا السؤال اين المنطقة السوداء التي كانت موجودة بالصورة فالحقيقة بالكود بالاسفل قمنا بحذف هذه المنطقة السوداء برمجياً:

flags = overlay,visible;//لأظهار الصورة
قمنا بتحديد flags وهي الكلمة الدليلية ومعناها الخصائص...اما كلمة overlay فهي تعني حذف كل المنطقة السوداء فهي تحذف اي شي تكون نسبة الحمرة صفر والخضره صفر والزرقه صفر ولالغاء هذه الخاصية احذفها فقط وسيظهر السواد بالصورة شاهد الصور التوضيحية
http://c.imagehost.org/0408/a5ern.jpg

وهذا شرح للpos قام به الاخ sparta22
والحين لنشرح معنى pos_x وpos_y وهي تحديد موقع الشكل الحين انت هتقولي ان كيف اعرف موقع الصورة اقولك انه احنا سوينا vedio_mode=7 وهذا يعني بان مقاسات الشاشة 800x*600y الحين انت مثلاً وضعت قيمة pos_x تساوي 130 وقيمة pos_y تساوي 150 يعني موقع x800-130=670 وموقع y 600-150=450 ...................يعني الموقع بيطلع مثل مابالصورة:
http://c.imagehost.org/0752/shr7.jpg


ولنشرح الحين معنى layer=1 ايش معناته هذا معناته الطبقة يعني مثل انت سويت لوحه وخليت layer=1 ولوحة ثانية وخليت layer=2 فهذا يعني انه الطبقه الثانية ستظهر فوق الطبقة الاولى
http://c.imagehost.org/0721/d.jpg

والحين بقي هذا الكود ايش معناته!!؟

bmap= test;//الصور التي ستعرض بالوحة
هذا معناته اان يقوم الحرك بعرض الصورة المسماة test
هذا درس اليوم

بسيط ومافيه صعوبه ان شاء الله الي عنده اي استفسار يرد هنا.....والسلام

Game baker
27-09-2008, 12:57 AM
مشكور جدا
ولاتوقف حتى بدون ردود

ترى ناس واجد يتابعوك ^_*

عموما وين الدرس الرابع ؟

Kamuri-San
27-09-2008, 02:28 AM
أخي و صديقي العزيز
انا بشكرك جدا جدا جدا جدا جدا جدا جدا جدا جدا
انا لااااااااااااااااااااااااااااااااااااااااااااااازم أطبق دروسك في مشروع و اعدك ان اضع اسمك
في بداية كل لعبة اصممها بهذا البرنامج
^^
(أنت حقا رائع انت من اندر اعضاء المنتدى الذين يهتمون بهذا الشكل باعطاء ما يمكنهم اعطائه لاخوانه)
برسل لك اقتراح على الخاص
في امان الله

Game baker
27-09-2008, 03:14 AM
أهلا فعلا كما قال أخي
الان عندي أقتراح للدورة !

هو أن كل واحد يرسل التطبيق مع التغيير في الصورة (حسب الدرس) والارقام مثلا

وهكذا ,...حتى نعمل حماس وتشجيع أكثر للمتابعين للدورة
مارايك ؟!

ديمو1
27-09-2008, 07:47 PM
مشكور جدا
ولاتوقف حتى بدون ردود

ترى ناس واجد يتابعوك ^_*

عموما وين الدرس الرابع ؟
العفو جداً:biggthump

ترا هذا الدرس الرابع بس فيه خطأ مطبعي تعرف الحين رمضان والواحد يدور راسه من تأثير الصوم:boggled:



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



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

يالله في امان الله....

أهلا فعلا كما قال أخي
الان عندي أقتراح للدورة !

هو أن كل واحد يرسل التطبيق مع التغيير في الصورة (حسب الدرس) والارقام مثلا

وهكذا ,...حتى نعمل حماس وتشجيع أكثر للمتابعين للدورة
مارايك ؟!

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


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

Game baker
28-09-2008, 01:18 AM
حسنا كيف نضيف النوافذ والارقام والكلام!؟

اتمنى نعرف بالدرس القادم ^^"

ديمو1
28-09-2008, 11:55 AM
هذا سيكون بالدرس القادم ان شاء الله

majinvegetassj4
30-09-2008, 03:03 PM
سبحان الله أخي أشكرك من كل قلبي حاول لعدة أسابيع أن أتعلم 3دي جايم ستوديو ولما عرفت أنه يحتاج للغة برمجة توقفت عن ذلك لأني ظننتها صعبه والآن أخي بددت كل الشكوك أشكرك ثانية نراك في الدروس القادمة

majinvegetassj4
30-09-2008, 03:05 PM
سبحان الله أخي أشكرك من كل قلبي حاول لعدة أسابيع أن أتعلم 3دي جايم ستوديو ولما عرفت أنه يحتاج للغة برمجة توقفت عن ذلك لأني ظننتها صعبه والآن أخي بددت كل الشكوك أشكرك ثانية نراك في الدروس القادمة

BladeII
25-10-2008, 06:26 PM
مشكور ياطيب وبارك الله بيك.........

...........