بسم الله الرحمن الرحيم
لقد تاخر هذا الدرس اكثر من اسبوع ونصف بسبب انقطاع الانترنت نأشف لذلك
تَعلّمنَا كَيفَ نَعْرضُ اللوحات أرقام والكثير مِنْ عناصرِ اللوحاتِ.
إذا نَحتاجُ لعَرْض نَصّ (اسم اللاعبِ , رسالة، الخ)
نحن يَجِبُ أَنْ نَستعملَ العباراتت والنصوصَ. وواذا كنا نريد نصوصنا ظتهرة فشكل جيدِ، نَحتاجُ لإسْتِعْمال خطوطِ جميلةِ. في هذا الدرسِ الذي نحن سَنَتعلّمُ أيضاً كَيفَ نُغيّرُ الوحاتَ بفاعلية، نصوص، أَو أي شئ آخر أثناء اللعب.
العبارات"
أي سطر من يتكون من عدة كلمات: الرسائل، أعداد، رموز. هنا بضعة أمثلة العبارات:
نحن يمكن ان نتعلم بضعة اشياء بالنظر للامثلة فوق فقط.كود:STRING player_str = "demo1 good player"; STRING my_work_in = "My Work in death city!" STRING player_meets_monster = "Die now! I won't have time for that later!"; STRING crypto1234 = "a#45@123--//"; STRING test_string; //العبارة الفارغة الغير محدودة STRING riddle = "#100"; // العبارة المخزنة يمكن ان تخزن الى مئة حرف
1. كُلّ عبارة يجب أنْ تعرفَ قبل أنْ تستعمل،بالكلمة الدليلية "STRING"
2. محتوى العبارات يجب ان يكتب بين علامات التنصيص "".
3. نحن يُمْكِنُ أَنْ نحدد سلسلة من الحروف لعبارتنا كما نريد أَو نحن يُمْكِنُ أَنْ نضع عبارات فارغةَ التي سَتَمْلأُ لاحقاً.
4. أي عبارة يُمكنُ أَنْ تَأخُذَ طولاً غير محدودَ من الحروف او يمكن ان اعطها قيمة محددة فقط من الحروف؛ يصنع شيئا اشبه باللغز يمكن ان يخزن لمئة حرف فقط.كود:؛ STRING riddle = "#100"
ملاحظة: في السكربتات القديمةِ أنت سَتَجِدُ تعاريفَ مثل STRING riddle[100]; في أغلب الأحيان العبارات سيكون لها هنا مستوى محدد من الحروف.
5. كُلّ سطور السي سكربت تحتاج لان تنهى بالفاصلة المنقوطة؛ لا تَنْسِ الفاصلة المنقوطة في نهاية تعريف عبارتك.
6. يمكنك اضافة اي اسم للعبارة . يفضل إضافة _str إلى عباراتك لَكنَّك لَسْتَ مجبرا على فعل ذلك.
العبارات لا تَستطيعُ عَرْض أيّ شئِ على الشاشةِ لوحدها؛ هو من الضروري ان توضع العبارات بداخل تعريف نَصِّ.
النصوص
هو الشي الذي يُمْكِنُ أَنْ يَعْرضَ واحدة أَو عِدّة عبارت على الشاشةِ. هذا مثال للنص بسيط:
انه شبيه جداً باللوحات اليس كذلك اذا هو لخبر جميل انه سهل كتابته:كود:TEXT first_txt { pos_x = 300; pos_y = 250; layer = 3; font = some_font; // خط تم تعريفه سابقا string = player_str; flags = VISIBLE; }
- pos_x وpos _y يَحددان موقع النص على الشاشة؛
- - layer تحدد طبقت النص فمثلا توجد طبقة معطات 4=layer فان الطبقة صاحبة الرقم اربعة ستظهر فوق النص؛
- font يَحدد اسمَ الخطِّ اللمعروف مسبقا ليعطى للنص. اذا كان هذا السطر محذوف، سيكون الخط_a4font هو المستعمل؛
- string يحدد العبارة التي ستعرض. مثل مافعلنا مع الصور واللوحات، انت يمكن ان تحدد عبارة معرفة مسبقا او ان تدخل العبارة مباشرة بين اشارتي ""،
-لجعل النص مرئي.كود:flags = VISIBLE
الآن لنفتح برنامج Sed وقم بكتابة الكود التالي:
انت تلاحظ باننا عرفنا عبارة واسميناها my_strكود:////////////// var screen_color[3]=100,50,0; //////////////////////////////////////////////////////////////////// STRING my_str = "مرحبا بك في عالم c-script"; //////////////////////////////////////////////////////////////////// FONT Courier_font = "Courier", 1, 20; // نوع الخط courier والستايل bold والحجم 20 TEXT my_text { pos_x = 59; pos_y = 46; font=Courier_font; string = my_str; flags = VISIBLE; {
لاتنس بانه بامكانك إضافة اي شيء بين علامات التنصيص تلك(رسائل رموز حروف الخ...) قم بتشغيل السكربتكود:STRING my_str = "مرحبا بك في عالم c-script";
وشاهد النتيجة!!
العبارات التفاعلية:
حان الوقت لنتعلم شيئاً جديداً,دعنا نظيف هذا السطر تحت سكربتنا السابق:
قم بأضافة هذا السطر اسفل العبارة my_str
STRING pa_strثم بعد ذلك دعنا نضيف الوظيفة:كود:= "لن يحرر فلسطين من يقتل بني شعبه!!";
function main()
{
wait(-3);
my_text.string=pa_str;
wait(-3);
my_text.visible=off;
}
وشاهد ماذا سيظهر:
لنشرح الآن هذه الوظيفة
الرموز الذي تَعمَلُ كُلّ هذه الأشياءِ واقعةُ داخل الوظيفةِ الرئيسيةِ function main ()، لذا دعنا نُناقشُه مباشرةً:
wait(-3); هي الوظيفة التي تأمر المحرك بالانتضار ثلاث ثواني. بعد ذلك عندنا هذا السطر:كود:function main() { wait(-3); my_text.string=pa_str; wait(-3); my_text.visible=off; }
انتبه:ربما تكون هذه العبارة هي اهم عبارة كتبناها حتى الآن: نحن يُمْكِنُ أَنْ نَدْخلَ (تقريباً) اي قيمة، مثل النَصّ، فأستعملنا "طريقة النقطة" كالمعروض تحت:كود:my_text.string=pa_str;
ونحن استخدمنا هنى عرفنا ولا النص الأساسي وهو my_text ثم وضعنا النقطة ثم وضعنا الكلمة الدليلية لكتابة العباراتstring ووضعنا اشارة المساواهكود:object.property
ومن ثم وضعنا pa_str وهي العبارة المراد ظهورها.........
اذاكنت تشك انه ماعادا هذا مالذي يمكن ايضا ان يتغير بطرقة النقطة، الجواب بسيطُ: كُلّ شيء تقريباً! لنلقي نظرة على تعريف النَصَّ ثانيةً:
نحن يُمْكِنُ أَنْ نَستعملَ my_txt. pos _x = 59؛ وهو الرمز الذي سيضع النص بعيداً عن الجزء الايسر من الشاشة بنسبةِ 59؛كود:TEXT my_text { pos_x = 59; pos_y = 46; font=Courier_font; string = my_str; flags = VISIBLE; }
نَعْرفُ كَيفَ نُغيّرُ هذ السطر لهذا النَصِّ ونحن يُمْكِنُ أَنْ نَستعملَ my_txt.visible = OFF؛ لإخْفاء النَصِّ بالكامل. هذه السطور مِنْ الكود يَجِبُ أَنْ تُوْضَعَ في الوظيفةِ الرئيسيةِ، أَو لَرُبَّمَا داخل إحدى وظائفِكِ الخاصةِ، لَرُبَّمَا داخل الوظيفة التي تعمل عندما ينقر زر مثلاً! ههل يمكنك ان تعلمني كيف؟بالطبع نعم
أنت يُمْكِنُ أَنْ تَستعملَ طريقةَ النقطةَ للتحكم باللوحاتِ، النصوص، الكئانات (كُن صبوراً، نحن سَنَصِلُ إلى هناك أيضاً). . . حسناً، أنا سَأَعطيك بضعة أمثلة عن هذا الموضوع:
كود:display_pan.visible = OFF; // display_panلأخفاء اللوحة المسماة test_pan.visible = ON; // لأظهار اللوحة المساة test_pan اذا كانت مخفية hi_txt.string = newstring_str; //يستبدل hi_text بالنص المسمى newstring_str error_pan.pos_y = 300; // يحدد الموقع للوحة المسماة error_pan.