حزمة المحرك الإصدارة 0.1

السلام عليكم

اسم الحزمة:
حزمة المحرك AAnimation package

نبذة عن الحزمة:
الحزمة تمكنك من تحريك المكونات component
الخاصة بحزمةswing بدون أية تعقيدات
(بصراحة لم أجربها على awt لكن يفترض أن تعمل)

إصدارة الحزمة:
أستطيع أن أقول الآن
أن هذه حزمة تقدم شيء ما
لهذا ستحصل على رقم
إصدارة الحزمة v.1

قصة الحزمة:
بزغت فكرة هذه الحزمة من محاولاتي مساعدة م.ربيع أبو طير
كان يريد تحريك JButton على إطار JFrame
بالطبع هذا الكلام حصل في سنة رابعة جامعة على ما أذكر
وبقيت الفئة التي عملتها موجودة لدي حتى اليوم
وبينما أنا أراجع البرامج التي قمت بتصميمها إذ عثرت عليها بالصدفة
ومن هنا انبثقت لدي فكرة عمل حزمة لتحريك الأدوات

الفئات المستهدفة بالحزمة:
على الأغلب الحزمة ستكون مفيدة:
1- لمصممي الألعاب
2- لمصممي الواجهات الاحترافية
3- لمصممي برامج المحاكاة

مميزات الحزمة:
1- تستطيع تحريك أي مكون component
على أي حاوية container
مع تحكم كامل بنوع الحركة أو اتجاهها أو سرعتها
2- هناك ثلاث أنواع من الحركات
أ- حركة أفقية
ب- حركة عمودية
ج- حركة قطرية
3- إمكانية التبديل بين الحركات بسهولة
4- إمكانية إجراء عدد من الحركات بشكل تتابعي
مثال حركة أفقية بمقدار 10 في 100 م.ث
ثم حركة عمودية بمقدار 50 في 200 م.ث
ثم حركة قطرية بمقدار 5 في 10 م.ث
ملاحظة:
الحركة هنا تتم بشكل آني بمعنى أنك ستنتقل تلقائياً من مكان إلى مكان
أما إذا كنت تريد حركة بمعنى حركة فهذه مسؤوليتك

كيف استخدم الحزمة؟؟
استخدام الحزمة يعتمد على إنشاء كائن من الفئة AnimationRunnable
ثم تمريره كمدخل للفئة Thread واستدعاء الدالة start
لكي تستطيع إنشاء كائن من الفئة AnimationRunnable
لديك عدة طرق
أ- أن تمرر لصانع كائناتها
1- كائن من الفئة Container أو إحدى أبنائها
2- كائن من الفئة Component أو إحدى أبنائها
لا يشترط أن يكون الكائن من الفئة Component أو إحدى أبنائها
مضافاً إلى الكائن من الفئة Container أو إحدى أبنائها
إن لم يكن مضافاً ستقوم الحزمة بإضافته بنفسها
هناك مدخلات اختيارية ممكن أن تمررها أو أن تتجاهلها
ب- أن تمرر لصانع كائنتها
1- كائن من الفئة Container أو إحدى أبنائها
2- كائن من الفئة Component أو إحدى أبنائها
لا يشترط أن يكون الكائن من الفئة Component أو إحدى أبنائها
مضافاً إلى الكائن من الفئة Container أو إحدى أبنائها
إن لم يكن مضافاً ستقوم الحزمة بإضافته بنفسها
3- كائن من النوع AnimationList
وهذا الكائن يقوم بإنشاء ليستة list
تحتوي على الحركات التي سيتحركها المكون بالترتيب
4- إضافة بعض الحركات إلى الليستة
ويتم هذا من خلال الدوال
أ- أضف حركة إلى بداية الليستة insertAnimationFirst
ب- أضف حركة إلى نهاية الليستة insertAnimationLast
يمكنك حذف بعض الحركات من خلال الدوال التالية
أ- احذف حركة من بداية الليستة deletFirstAnimation
ب- احذف حركة من نهاية الليستة deletLastAnimation
ملاحظة: يشترط أن يكون مدير المكونات Layout Manager
من النوع nullLayout
(بمعنى أن نمرر للدالة setLayout مدخل null)
لرؤية مثال على هذه العملية يرجى مشاهدة الفئات Test1,Test2

مشاريع التطوير على الحزمة:
1- إضافة أحداث للحركات
بحيث يستطيع المبرمج إجراء حدث معين بعد تنفيذ الحركة
وقبل تنفيذ الحركة التالية
2- إضافة فئة للتزامن بين الكائنات المتحركة AnimationObject
إلى حد الآن لم تختمر الفكرة في رأسي لكني أظنها مهمة بالذات للألعاب

التوثيق الخاص بالحزمة:
سأكتفي مؤقتاً بالشرح الموجود هنا
مع الفئتين Test1,Test2
بصراحة لا أخفيكم أني لست رائق البال
لكي أكتب التوثيق بالإنجليزية
فلو تطوع أحد الأخوة وساعدني في ذلك
(وهذا ما لن يحصل على الأغلب 🙂 )
سأكون له شاكر

التصميم للإصدارة:

هذه الصورة تمثل التصميم للإصدارة
أي اقتراحات للتطوير سآخذها بعين الاعتبار بإذن الله

تنزيل الحزمة:
تحميل ملف jar
[download#6#image]
تحميل الشيفرة المصدرية
[download#7#image]

معلومات عن المبرمج:
م.علاء محمد خليل الصالحي
خريج هندسة حاسوب
الجامعة الإسلامية بغزة

تحياتي

Tags: , , , , , , , , ,

Leave a Reply