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

مشاهدة النسخة كاملة : دور cscript الدرس السادس (الازرار واشرطة التمرير)



ديمو1
29-09-2008, 07:58 PM
الأزرار
وهو زر في اللوحة يمكن ان ينقر عليه.....َ. تعال,انت تنقر مئات الازرار كل يوم لنتعرف الان كيف نقوم بتعريف الازرار بالجيم ستيوديوِ:


button (x, y, bitmap_normal, bitmap_released, bitmap_over, function_clicked, function_released, function_over);

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

- x وy يحدد موقع الزر على اللوحةِ.


- bitmap_clicked _ هي صورة التي تظهر عندما يتم النقر على الزرِ؛



- bitmap_normal _ وهي صورة الزر عندما تكون في وضع طبيعي اي بدون ان تكونمنقورة او تم النقر عليها؛



- bitmap_over _ هي الصورة التي تظهر عندما تتحرك الفأرة فوق الزر؛



- function_clicked اسم الوظيفة التي ستنفذ عندما يتم النقر على الزر؛

- function_released اسم الوظيفة التي ستنفذ عندما يترك الفأر الزر,او عندما نبطل امر الضغط بزر الفأرة الأيسر.

- function_over الوظيفة التي ستنفذ عندما يكون الماوس على الزر دون الضغط عليه.

-عندما لاترغب بتشغيل اي وضيفة من الاعلى اكتب محلها كلمة NULL

(ملاحظة: لاتقم بكتابة الكلمة الدليلية function في الزر بل اكتفي فقط باسمها (

جاء وقت التطبيق:



حاول صاحب الدرس ان يجعل السكربت قصيراً قرد الأمكان فوضع به التالي:
ا) الوحة؛
ب) صورة بدل المؤشر *سمايلي*؛
ت)زر يتغير لونة من الرملي الى البنفسجي ؛
ج) عندما تنقر زر "خروج"فانه يخرج من البرنامج.......

هذه الصور الثلاث سنستخدمها بمثلنا هذا:

quitnormal _pcx

quitover _pcx



quitclicked _pcx

حملها من المرفقــأاتدعنا نرى الرمز:

////////////////////////////////////////////////////////////////////
BMAP mouse_pcx = "mouse.pcx"; // صورة الماوس

////////////////////////////////////////////////////////////////////
function main()//الوظيفة الاساسية
{
mouse_map = mouse_pcx;
mouse_mode = 2;
while (1)
{
mouse_pos.x = pointer.x;
mouse_pos.y = pointer.y;
wait (1);
}
}

function quit_program()//الوظيفة التي عندما نظغط الزر يخرج من المحرك
{
beep();
sys_exit(NULL);//دالة الخروج
}

//////////////////////////////////////////////////////////////////////
PANEL main_pan//لوحة القائمة
{
bmap = "main.pcx";//خلفية القائمة
pos_x = 250; //الموقع على المحور اكس
pos_y = 200; //الموقع على المحور اي
button (250, 134, "quitclicked.pcx", "quitnormal.pcx", "quitover.pcx", quit_program, NULL, NULL); //تعريف الزر شرحناه بالأعلــى
flags = OVERLAY, VISIBLE;//لإظهار اللوحة..
}

////////////////////////////////////////////////////////////////////
ثم احفضه بنفس المجلد الذي وضعت به الصور

الكود مشروح وواظح لاكن لنشرح امر كتابة الزر button:



button (250, 134, "quitclicked.pcx", "quitnormal.pcx", "quitover.pcx", quit_program, NULL, NULL);

1-الارقام الاولى"250,134" موقع الزر باللوحة *انتبه باللوحة وليس بالبرنامج كليا....

2- "quitclicked.pcx" هذه هي الصورة التي عندما يكون الزر مضغوطاً ,"quitnormal.pcx" هذه هي الصورة عندما لايكون الزر مضغوطاً بوضع عادي يعني, "quitover.pcx" هذه صورة الزر عندما يمر الماوس فوق الزر.

3-quit_program هذه هي الوظيفة التي تشتغل عندما يتم النقر على الزر, NULL هذه هي الوظيفة عندما يترك الماوس الزر, NULL هي الوظيفة التي ستنفذ عندما يوضع الماوس على الزر دون الضغط عليه

وانتهى هذا الدرس:
تدريب قم بصنع قائمة رئيسية لاكن لاتقم بتفعيل اي زر لاننا لم نتعلم الا العمل على زر الخروج سنتعلم الباقي بالدروس القادمة
تطبيقي للازديادة:
307942:biggthump

ديمو1
29-09-2008, 08:05 PM
الشريط هو عنصر الوحةِ الذي يُمْكِنُ أَنْ يُسْحَبَ بالفأرِ وهو يُستَعملُ لوَضْع القيمةِ لمتغيرات مؤكدة. نحن يُمكنُ أَنْ نَستعمل اشرطة افقية او عمودية ونحن يُمْكِنُ أَنْ نَضِعَ مداهم. في اغلب الاوقات الشريط يُستَعملُ لتَنظيم الصوت اصوات الموسيقى ، الغاما، الخ.

هذه الصورةُ لشريط يمكن عمله:
307943


حسنا ,اتوقع انك ستقول الان ماهذا هذا الشريط انه بشع نظر لهذه الصورة لواظفناها للشكل الن يبدو افضل:
307944


الآن دعنا نُضيفُ نفس الريط إلى لوحتناا:
307945

ربما ستقول انه ربما يكون معقدا لاكن بالحقيقة هو يمكن ان يكتب بسطر واحد!!:


hslider (x, y, size_in_pixels, slider_bitmap, minimum_value, maximum_value, variable);
vslider (x, y, size_in_pixels, slider_bitmap, minimum_value, maximum_value, variable);
هذه الإثنان مِنْ أنواعِ الأشرطة يَستعملانِ نفس التعريفِ! دعنا نقم بكتابة كود الشريط اكتب


////////////////////////////////////////////////////////////////////

var video_mode = 7;
var screen_color[3] = 150,0,0;

var speed = 50;

////////////////////////////////////////////////////////////////////

BMAP mouse_pcx = "mouse.pcx";

////////////////////////////////////////////////////////////////////

panel main_pan
{
bmap = "main2.pcx";
pos_x = 250;
pos_y = 200;
vslider (16, 71, 90, "slider.pcx", 0, 100, speed);
digits (15, 50, 3, _a4font, 1, speed);
flags = OVERLAY, VISIBLE;
}

////////////////////////////////////////////////////////////////////

function main()
{
mouse_map = mouse_pcx;
mouse_mode = 2;
while (1)
{
mouse_pos.x = pointer.x;
mouse_pos.y = pointer.y;
wait (1);
}
} تعرف بأني رجل شرير لذلك كتبت لك ذلك الكود الضخم:biggthumphttp://1-l.co.cc/smf/Smileys/default/smiley.gif؛ واظفنا صورة خلفية اسمها main2.pcx نحن نَستعملُ متغير جديد اسمه SPEED؛ قيمته الأولية 50 ونحن كان يُمكنُ أنْ نَستعملَ أيّ اسم آخر له. نحن نَستعملُ أيضاً تعريف أرقامِ لعَرْض قيمةِ المتغيّرِ.

ماذا تنتظر؟ أذهب وقم بتشغيل السكربt


307946

دعنا نُناقشُ تعريفَ الشريط:

vslider (16, 71, 90, "slider.pcx", 0, 100, speed);
حسناً، لقد وضعنا اولا احداثيات الشريط على المحور X ,Yِ، ومن ثم وضعنا عدد البكسلات 90 لهذا الشريط العمودي، نحن نَستعملُ صورةَ "slider. pcx "ونحن نُغيّرُ قيمةَ المتغيّرِ المسمى speed مِنْ 0 إلى 100.
307947
تدريب لنرى اذا كنت قد اتقنت هذا الدرس قم بأضافة شريط افقي لهذا اللوحة

دعنا نستريح قليلا.......................................

Kamuri-San
29-09-2008, 08:18 PM
مش لاقي كلام تاني أقوله
O_O
بجد انت مذهل

ديمو1
29-09-2008, 08:23 PM
مش لاقي كلام تاني أقوله
O_O
بجد انت مذهل



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

وعيدكم مبارك:blackeye:

d.o.m
29-09-2008, 09:28 PM
مشكور اخوي
تبي الصراحة انا الدرس 4,5,6 مافهمتها
ياريت لو تشرح شرح مبسط اكثر
وعيد مبارك للجميع

Game baker
29-09-2008, 09:55 PM
ل عودة بعد فهم الدرس...

BladeII
25-10-2008, 06:33 PM
شكرا على مجهودك الكريم وبارك الله بيك..........

...............