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

مشاهدة النسخة كاملة : [درس] نظام الجزيئات في الجيم ميكر



Son Of UAE
03-08-2006, 01:30 PM
بسم الله الرحمن الرحيم

اقدم لكم اليوم درس عن نظام الجزيئات لبرنامج الجيم ميكر 6.0 و الذي يمكن استخدامه ايضاً في الاصدارات اللاحقة. لقدت اعتمد الإصدار 6.1 في هذا الدرس و في حال وجود خلل فيرجع السبب ان الاصدار السابق لا يحتوي على الدوال كلها. ولكن يمكنكم التعديل كيفما شئتم.


261266

لتكون الفكرة واضحة جداً, علينا معرفة ما يجب اتباعه قبل البدء في نظام الجزيئات. فعمليه استخراج الجزيئات لها روتين ثابت يجب اتباعه في كل مرة. وهو كالتالي:
1 – تحديد نوع الجزيئات و خصائصها.
2 – تحديد نظام الجزيئات.
3 – وضع الباعث والتي تظهر منها الجزيئات.

اولاً – نوع الجزيئات و خصائصها.
في البداية نصنع نوع جديد و نعطيه اسم pt1 و التي تعني Particles Type 1 و تكتب بهذة الطريقة:

pt1 = part_type_create();

و بعدها تضع خصائص النوع و التي ستحدد لك الشكل الذي تريده و غيرها من الامور و من أهمها :

part_type_shape(pt1,pt_shape_flare);

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

pt_shape_pixel
pt_shape_disk
pt_shape_square
pt_shape_line
و هذا هو الحال لجميع الدوال المتعلقة بنوع الجزيئات. ولاحظ انك تضع المدخلpt1 في كل داله لتحدد انك تغير خصائص النوع الاولى. ولو اردت اضافة نوع اخر أعطه اسم أخر مثل pt2 و استخدم داله الصنع المذكورة في أول القسم. ولمعلومات اكثر عن باقي الدوال يمكنك مراجعة ملف المساعدة للجيم ميكر. وذلك لكثرتها و بساطتها في نفس الوقت. و للعلم يتم وضع جميع الخصائص في الحدث Create من نفس الاوبجيك الذي يراد استغلال نظام الجزيئات فيه.

ثانياً – نظام الجزيئات.
وهو الجزء الرئيسي بالدرس حيث انه سيكون بالاوبجيكت الذي يقوم بإظهار الجزيئات ففي الحدث Create نضع الداله التالية:

ps = part_system_create();

و التي سوف تنشئ النظام وتعطيه اسم ps و هذا الاسم سيتم الاستفاده منه لاحقاً.
و في حدث Destroy تضع الدالة:

part_system_destroy(ps);

والتي ستزيل النظام الجزيئات و توفر على ذاكرة الكمبيوتر.

هناك دوال أخرى متعلقة بنظام الجزيئات. ولكننا عمدنا على تجنبها لتبسيط الامور و استخدام الاساسيات فقط.

و الان اصبح لدينا نوع جزيئات و نظام جزيئات ولكن النتائج مازالت صفر . لاننا نحتاج إلى رسمها على شاشة الكمبيوتر لنرى الانواع التي انشئت. و ذلك عن طريق الفقرة التاليه.

ثالثا – الباعث.
و هو الجزء الذي سيحدد مكان الانبعاث و يختار الانواع التي يريدها و الكمية المطلوبة منها لذلك.
تتم هذه العمليه عن طريق ثلاث دوال و هي انشاء الباعث و تحديد نوع الانبعاث و اخيراً تحديد كمية الانبعاث.

و لصنع باعث جديد تستخدم الداله:

em = part_emitter_create(ps);

ولاحظ ان ps هو اسم نظام الجزيئات و سيتم اضافة الداله في اخر سطر من الحدث Create لنفس الاوبجيكت.

اما الدالة الثانية و التي تكتب في بعد الاولى و التي تحدد النوع فهي:


part_emitter_region(ps,em,100,540,480,490,ps_shape_rectangle,ps_distr_linear);

حيث يكون المدخل الاول هو اسم نظام الجزيئات و المدخل الثاني هو اسم الباعث الذي تم تحديد اسمه مسبقاً بالدالة الاولى. و بعدها يتم تحديد نطاق الانبعاث وذلك بوضع الارقام الاربع اما المدخل السابع فهو يتعلق بشكل بؤرة الانبعاث و قد تم تحديد النوع المستطيل لذلك. و اخيرأ تضع نوع الموزع و الذي تم اختيار النوع الخطي لذلك أي ان توزيع الانبعاث سيكون متساوي في كل نطاق الانبعاث. ولتغيير القيم و الانواع يرجى مراجعة ملف المساعدة و التأكد من القيم و ذلك كتجربه طبعاً.

و الان يتم تحديد كمية الانبعاث بالدالة التاليةو التي توضع في الحدث drawوهي :

part_emitter_stream(ps,em,pt1,-4);

بوضع اسم النظام و اسم الباعث و اسم النوع و من ثم وضع القيمه -4 سيتم بث الجزيء من النوع ps2 في كل اربع خطوات للعبة steps. و بتغير القيمة تتغير كمية البث في الباعث.

وبهذا انتهينا من شرح الفكرة الاساسية لنظام الجزيئات و كل ما تبقى هو المثال المرفق الذي سيوضح الامور الغامضة ان شاء الله.


تقديم :
Son fo UAE ©

PrinceOfSorrow
03-08-2006, 01:42 PM
يعطيك العافية أخوي على الدرس والمثال ^^
والجميل انه بهذه الخاصية ممكن ان نرسم جزئياتنا الخاصة ^^

nash2
03-08-2006, 02:15 PM
الله يعطيك ألف عافية على الدرس المميز.

واتمنى مزيدا من دروسك المميزة في القريب العاجل .

بالتوفيق .

maa2007
03-08-2006, 04:54 PM
شكرا son of uae على الدرس

يعطيك العافية أخوي على الدرس والمثال ^^
والجميل انه بهذه الخاصية ممكن ان نرسم جزئياتنا الخاصة ^^

ما ذا تقصد ؟

ابن الامارات لم يرسم شكل الجزيئات ولكن حددها من خلال الكود

part_type_shape(pt1,pt_shape_star );

PrinceOfSorrow
03-08-2006, 04:57 PM
ما ذا تقصد ؟


في أصدر 6.1 وضعو بعض الجزئيات الي ممكن نستخدمها كالدخان + مطر + نجوم + flare

||صقر||
03-08-2006, 05:48 PM
شكرا أخى على الدرس
أعتذر لى عدم التعليق ^^ لكنى مشغول جدا بتحضير مفاجئة

XORO
03-08-2006, 06:58 PM
شكرا على الدرس القيم

الصراحة الاعضاء بيستفيدون وايد منه

MALTOOSH
03-08-2006, 10:49 PM
جزاك الله خير على الدرس المفيد جدا..

وشكرا...

باز يطير
03-08-2006, 11:16 PM
السلام عليكم ورحمة الله وبركاته

ما شاء الله درس مفيد جداً يعطيك الف عافية

ولاكن ماذا تقصد بـ

بوضع اسم النظام و اسم الباعث و اسم النوع و من ثم وضع القيمه -4 سيتم بث الجزيء من النوع ps2 في كل اربع خطوات للعبة steps. و بتغير القيمة تتغير كمية البث في الباعث.

عبدالله..ع
04-08-2006, 12:05 AM
- أشكرك جداً أخي العزيز ( ولد الامارات ) على هذا الدرس المميز بالفعل...:biggthump
و أنتظر طريقة عمل الدخان و لهب النار المتعلقة بالمؤثرات البصرية...و آسف على كثرة الطلبات لكني بحاجة ماسة لهاتين الطريقتين...:(
و جزاك الله خيراً...;)

d.a.m.h
04-08-2006, 01:08 AM
شرح ممتاز جدا.....افتقدنا دروسك والله :D

بالتوفيق يا Son of UAE

OctoBot
04-08-2006, 01:55 AM
درس ممتاز, و أتمنى الجميع يستخدم الجزيئات في ألعابهم, لكن انتبهوا, تأخذ حجم من الذاكرة و تبطأ اللعبة في حالة الإسراف.
الدرس :bigok: .

من التراب
04-08-2006, 07:09 AM
الدرس روعه والشرح بسط الكثير من الأفكار

تسلم على التميز الي عودتنا عليه ;)

وإن شاء الله بتشوف الجزيئات في لعبته القادمه الي يمكن توصل بعد المسابقه :09:

PrinceOfSorrow
04-08-2006, 09:07 AM
درس ممتاز, و أتمنى الجميع يستخدم الجزيئات في ألعابهم, لكن انتبهوا, تأخذ حجم من الذاكرة و تبطأ اللعبة في حالة الإسراف.
الدرس :bigok: .

أكتوبوت ؟
هذا ألي مبهدلني في تصميم للعبتي ؟
لما اضع أفيكت يبطئ علي للعبة وايد :(