عبود عبود
09-09-2018, 12:25 PM
https://i.imgur.com/ybV5rpe.gif
شرح برنامج صانع الإضافات AMS Plugin Maker
فى البداية برنامج AMS Plugin Maker هو من برمجة وتصميم المبرمج المحترف Reteset وقد قام ببرمجة وتصميم هذا البرنامج بحيث يمكن للبرنامج إنتاج الإضافات المختلفة التى تستخدم فى برنامج الأتوبلاى ميديا ستوديو بأنواعها الثلاث وهى :
إضافات الأكشن وإضافات الأوبجيكت وتأثيرات الإنتقالات بين صفحات المشروع أو كما يطلق عليهم الأسماء التالية :
Action Plugins
Object Plugins
Transition Plugins
أحدث إصدار لهذا البرنامج هو الفيرجين 1.1.0.0 وتم وضعة هنا فى هذا المنتدى منذ فترة كبيرة جدا حيث يمكنك زيارة الموضوع وتحميل البرنامج فى العنوان التالى :
النسخة الكاملة لبرنامج صانع الإضافات "Ams Plugin Maker "1.1.0.0 (http://www.abc4web.net/vb/showthread.php?t=34830)
فى صفحة تحميل البرنامج المشار إليها بالأعلى توضيح لكيفية تنصيب البرنامج بالنسخة الكاملة المكركة من قبل أحد الأصدقاء .
ومن الجدير بالذكر أن هذا البرنامج قد توقف الدعم له أو التحديث من قبل صاحبة Reteset نظرا للخلافات التى حدثت بينه وبين المسؤلين عن شركة indigorose
فهو قد قام بتصميم هذا البرنامج لتسهيل تطوير برنامج الأتوبلاى ميديا ستوديو عن طريق بناء مختلف الإضافات له بمنتهى السهولة وبلغة اللوا أو بمعنى أصح بأكواد اللوا وكان بمثابة هدية برمجية إلى مستخدمى برنامج الأتوبلاى ميديا ستوديو وإلى الشركة نفسها ..... نعم البرنامج لم يكن مجانى ولكنه كان جديرا حقا بجذب الكثيرين لتعلم بناء الإضافات ومن ثم زيادة عدد مستخدمى برنامج الأتوبلاى ميديا ستوديو ..... حقا برنامج رائع برمجيا وفكرته جميلة .
بعد إيقاف ريتيست لدعم وتطوير البرنامج إتجه إلى إستكمال بناء برنامج مستقل خاص به وبشركتة Reteset Software وكان هذا البرنامج يسمى بــ SDStudio وبالفعل بدأ وسرعان ما يبدو أنه توقف قبل ظهور الفيرجين الأول له فقد كانت خطواتة فى البناء بطيئة جدا جدا وأيضا لقى هذا البرنامج هو الآخر مصير الأول وحتى قبل ظهوره للنور .
:abc_080: وطبعا لم يتطرق أحد إلى شرح برنامج AMS Plugin Maker حتى الآن فى أى منتدى آخر
ولكن هنا سوف تجد الشرح بالتفصيل إن شاء الله
https://i.imgur.com/RQXcMhj.gif
الشرح الأول كيفية إنشاء أو صناعة إضافة أوبجيكت
إخترت أن أبدأ بما يبدو لنا أنه صعب جدا فتابع معى لنرى مدى السهولة
فى هذا الشرح سوف نقوم بتقسيم الشرح على جزئين وهما :
كيفية صناعة إضافة أوبجيكت "graphics object" و كيفية صناعة إضافة أوبجيكت "windowed object" :
أولا: كيفية صناعة graphics object :
فى هذه الحالة يتم إستخدام مكتبة الرسم وهى Graphics Modules حيث تسمح لنا هذه المكتبة بإستخدام أدوات الرسم من أقلام وفرش وغيرها .
خطوات إنشاء إضافة الأوبجيكت :
نقوم بفتح البرنامج "AMS Plugin Maker" ثم الضغط على زر "Create Project" وذلك لبدأ إنشاء الإضافة التى نريد تصميمها كما بالصورة التالية :
https://i.imgur.com/8TXxKgB.png
سوف يظهر لنا نافذة أخرى سوف نكتب فيها الإسم الذى نريد تسمية الإضافة به من خلال كتابة مثلا الإسم الذى سيكون محور هذا الشرح هو TestObject يتم كتابة هذا الإسم فى الأماكن Plugin Name و Project Name الموضحة بالصورة وبعد ذلك نقوم بإختيار نوعية الإضافة Plugin Type من خلال الضغط على الكمبوبوكس الموضح بالصورة التالية ليتم إختيار Object Plugin الصورة التالية توضح ما سبق :
https://i.imgur.com/5MJSh4Y.png
ثم نقوم بالضغط على زر الخصائص Properties وذلك حتى نقوم بضبط الإعدادات الأولية الإفتراضية التى سوف يظهر بها البليجين عند إضافتة إلى المشروع فى برنامج الأتوبلاى ميديا ستوديو من الناحية الشكلية كـــ الحجم "العرض والإرتفاع" طبعا هذا هو الظهور الإفتراضى فقط أما من الناحية البرمجية فيمكن ضبط خصائص البليجين إذا كان سوف يكون "windowed object" أو "graphics object" كما وضحنا سابقا فى الشرح الفرق فى إستخدام المكتبة الرسومية وأيضا يمكن ضبط خصائص البليجين إذا كان سوف يقبل تركيز الماوس طبعا هذه الحالة تكون مع النوع "windowed object" فقط وهى قابلية تركيز الماوس فى البليجين من عدمة كما هو الحال فى عناصر الإدخال كالإينبوت أو غيرة من عناصر إدخال أو كتابة أيضا يمكن ضبط خصائص البليجين لتشغيل أو إصدار صوت عند مرور أو مغادرة الماوس أو عند النقر على البليجين وكذلك إمكانية تغيير شكل الماوس عند مرور الماوس على البليجين وكذلك التول تيب أو التعليقات عند مرور الماوس على البليجين إنظر الصورة التالية للتوضيح لما سبق :
https://i.imgur.com/Io9v5DW.png
إذن تفعيل أو عدم تفعيل الإختيارات الثلاث الأخيرة يكون للبليجين فى حالة أنه ليس "windowed object" وهى :
Let AMS Handle Sound يعنى إخبار مقبض نافذة المشروع بتشغيل الملفات الصوتية فى حالة ضبط العنصر على ذلك وفى الصورة التالية هذه الصورة لأحد الإضافات التى قمت بإنشائها سابقا ولم أقم بتفعيل إمكانية إخبار مقبض نافذة المشروع بتشغيل الملفات الصوتية يعنى Let AMS Handle Sound = False سوف تلاحظ أنه لا يمكن وضع أى ملف صوتى عند مرور الماوس على العنصر أو عند النقر علية وهنا طبعا أقصد البليجين الذى تم صناعته ككل يعنى عدم تفعيل أصوات الماوس عند المرور و النقر على أى مكان من حجم العنصر ككل إفتراضيا حيث فيما بعد سوف نوضح كيف نفعل ذلك برمجيا إليكم الصورة التوضيحية :
https://i.imgur.com/g87eWPy.png
كذلك هو الحال مع عدم تفعيل Let AMS Handle Cursor Change وهو إخبار مقبض نافذة المشروع بإمكانية تغيير شكل الماوس الإفتراضى عند المرور على البليجين .
كذلك هو الحال مع عدم تفعيل Let AMS Handle Tooltip وهو لإخبار مقبض نافذة المشروع بإمكانية وضع تعليق عند مرور الماوس على البليجين .
المهم الآن هو أن نستكمل الشرح على هذا الوضع المبين بالصورة التالية مؤقتا :
https://i.imgur.com/Io9v5DW.png
ثم نضغط على الزر Ok لهذه النافذة والنافذة السابقة ليتم فتح مشروع برمجة البليجين الذى نريد إنشاؤة وبرمجته فنلاحظ أنه تم بشكل تلقائيا توليد عدة وظائف رئيسية لا يمكننا أن نعدل فى أسمائها أو إحدى الباراميترات لها يمكن من خلالها التعامل مع البليجين برمجيا والصورة التالية للتوضيح :
https://i.imgur.com/Xvr4e0m.png
هذه الوظائف هم 19 وظيفة هم كالتالى :
--
function OnCreateObject(ObjectPtr,InstanceHandle)
function OnDeleteObject(ObjectPtr)
function GetWindowHandle(ObjectPtr)
function DrawDesign(ObjectPtr,HDC,WndParent,X,Y,Width,Heigh t,Visible,Enabled)
function DrawRuntime(ObjectPtr,HDC,WndParent,X,Y,Width,Heig ht,Visible,Enabled)
function GetCustomProperties(ObjectPtr)
function SetCustomProperties(ObjectPtr,Properties)
function ShowProperties(ObjectPtr,PluginFolder)
function HideInternalObject(ObjectPtr)
function DoSetFocus(ObjectPtr)
function ShowWindow(ObjectPtr,Visible)
function OnMouseOver(ObjectPtr,WndParent,MouseX,MouseY,X,Y, Width,Height)
function OnMouseLeave(ObjectPtr,WndParent,MouseX,MouseY,X,Y ,Width,Height)
function OnLBtnDown(ObjectPtr,WndParent,MouseX,MouseY,X,Y,W idth,Height)
function OnLBtnUp(ObjectPtr,WndParent,MouseX,MouseY,X,Y,Wid th,Height)
function OnLBtnDoubleClick(ObjectPtr,WndParent,MouseX,Mouse Y,X,Y,Width,Height)
function OnRBtnDown(ObjectPtr,WndParent,MouseX,MouseY,X,Y,W idth,Height)
function OnRBtnUp(ObjectPtr,WndParent,MouseX,MouseY,X,Y,Wid th,Height)
function OnRBtnDoubleClick(ObjectPtr,WndParent,MouseX,Mouse Y,X,Y,Width,Height)
https://i.imgur.com/RQXcMhj.gif
نستكمل فيما هو قادم " إن شاء الله "
شرح برنامج صانع الإضافات AMS Plugin Maker
فى البداية برنامج AMS Plugin Maker هو من برمجة وتصميم المبرمج المحترف Reteset وقد قام ببرمجة وتصميم هذا البرنامج بحيث يمكن للبرنامج إنتاج الإضافات المختلفة التى تستخدم فى برنامج الأتوبلاى ميديا ستوديو بأنواعها الثلاث وهى :
إضافات الأكشن وإضافات الأوبجيكت وتأثيرات الإنتقالات بين صفحات المشروع أو كما يطلق عليهم الأسماء التالية :
Action Plugins
Object Plugins
Transition Plugins
أحدث إصدار لهذا البرنامج هو الفيرجين 1.1.0.0 وتم وضعة هنا فى هذا المنتدى منذ فترة كبيرة جدا حيث يمكنك زيارة الموضوع وتحميل البرنامج فى العنوان التالى :
النسخة الكاملة لبرنامج صانع الإضافات "Ams Plugin Maker "1.1.0.0 (http://www.abc4web.net/vb/showthread.php?t=34830)
فى صفحة تحميل البرنامج المشار إليها بالأعلى توضيح لكيفية تنصيب البرنامج بالنسخة الكاملة المكركة من قبل أحد الأصدقاء .
ومن الجدير بالذكر أن هذا البرنامج قد توقف الدعم له أو التحديث من قبل صاحبة Reteset نظرا للخلافات التى حدثت بينه وبين المسؤلين عن شركة indigorose
فهو قد قام بتصميم هذا البرنامج لتسهيل تطوير برنامج الأتوبلاى ميديا ستوديو عن طريق بناء مختلف الإضافات له بمنتهى السهولة وبلغة اللوا أو بمعنى أصح بأكواد اللوا وكان بمثابة هدية برمجية إلى مستخدمى برنامج الأتوبلاى ميديا ستوديو وإلى الشركة نفسها ..... نعم البرنامج لم يكن مجانى ولكنه كان جديرا حقا بجذب الكثيرين لتعلم بناء الإضافات ومن ثم زيادة عدد مستخدمى برنامج الأتوبلاى ميديا ستوديو ..... حقا برنامج رائع برمجيا وفكرته جميلة .
بعد إيقاف ريتيست لدعم وتطوير البرنامج إتجه إلى إستكمال بناء برنامج مستقل خاص به وبشركتة Reteset Software وكان هذا البرنامج يسمى بــ SDStudio وبالفعل بدأ وسرعان ما يبدو أنه توقف قبل ظهور الفيرجين الأول له فقد كانت خطواتة فى البناء بطيئة جدا جدا وأيضا لقى هذا البرنامج هو الآخر مصير الأول وحتى قبل ظهوره للنور .
:abc_080: وطبعا لم يتطرق أحد إلى شرح برنامج AMS Plugin Maker حتى الآن فى أى منتدى آخر
ولكن هنا سوف تجد الشرح بالتفصيل إن شاء الله
https://i.imgur.com/RQXcMhj.gif
الشرح الأول كيفية إنشاء أو صناعة إضافة أوبجيكت
إخترت أن أبدأ بما يبدو لنا أنه صعب جدا فتابع معى لنرى مدى السهولة
فى هذا الشرح سوف نقوم بتقسيم الشرح على جزئين وهما :
كيفية صناعة إضافة أوبجيكت "graphics object" و كيفية صناعة إضافة أوبجيكت "windowed object" :
أولا: كيفية صناعة graphics object :
فى هذه الحالة يتم إستخدام مكتبة الرسم وهى Graphics Modules حيث تسمح لنا هذه المكتبة بإستخدام أدوات الرسم من أقلام وفرش وغيرها .
خطوات إنشاء إضافة الأوبجيكت :
نقوم بفتح البرنامج "AMS Plugin Maker" ثم الضغط على زر "Create Project" وذلك لبدأ إنشاء الإضافة التى نريد تصميمها كما بالصورة التالية :
https://i.imgur.com/8TXxKgB.png
سوف يظهر لنا نافذة أخرى سوف نكتب فيها الإسم الذى نريد تسمية الإضافة به من خلال كتابة مثلا الإسم الذى سيكون محور هذا الشرح هو TestObject يتم كتابة هذا الإسم فى الأماكن Plugin Name و Project Name الموضحة بالصورة وبعد ذلك نقوم بإختيار نوعية الإضافة Plugin Type من خلال الضغط على الكمبوبوكس الموضح بالصورة التالية ليتم إختيار Object Plugin الصورة التالية توضح ما سبق :
https://i.imgur.com/5MJSh4Y.png
ثم نقوم بالضغط على زر الخصائص Properties وذلك حتى نقوم بضبط الإعدادات الأولية الإفتراضية التى سوف يظهر بها البليجين عند إضافتة إلى المشروع فى برنامج الأتوبلاى ميديا ستوديو من الناحية الشكلية كـــ الحجم "العرض والإرتفاع" طبعا هذا هو الظهور الإفتراضى فقط أما من الناحية البرمجية فيمكن ضبط خصائص البليجين إذا كان سوف يكون "windowed object" أو "graphics object" كما وضحنا سابقا فى الشرح الفرق فى إستخدام المكتبة الرسومية وأيضا يمكن ضبط خصائص البليجين إذا كان سوف يقبل تركيز الماوس طبعا هذه الحالة تكون مع النوع "windowed object" فقط وهى قابلية تركيز الماوس فى البليجين من عدمة كما هو الحال فى عناصر الإدخال كالإينبوت أو غيرة من عناصر إدخال أو كتابة أيضا يمكن ضبط خصائص البليجين لتشغيل أو إصدار صوت عند مرور أو مغادرة الماوس أو عند النقر على البليجين وكذلك إمكانية تغيير شكل الماوس عند مرور الماوس على البليجين وكذلك التول تيب أو التعليقات عند مرور الماوس على البليجين إنظر الصورة التالية للتوضيح لما سبق :
https://i.imgur.com/Io9v5DW.png
إذن تفعيل أو عدم تفعيل الإختيارات الثلاث الأخيرة يكون للبليجين فى حالة أنه ليس "windowed object" وهى :
Let AMS Handle Sound يعنى إخبار مقبض نافذة المشروع بتشغيل الملفات الصوتية فى حالة ضبط العنصر على ذلك وفى الصورة التالية هذه الصورة لأحد الإضافات التى قمت بإنشائها سابقا ولم أقم بتفعيل إمكانية إخبار مقبض نافذة المشروع بتشغيل الملفات الصوتية يعنى Let AMS Handle Sound = False سوف تلاحظ أنه لا يمكن وضع أى ملف صوتى عند مرور الماوس على العنصر أو عند النقر علية وهنا طبعا أقصد البليجين الذى تم صناعته ككل يعنى عدم تفعيل أصوات الماوس عند المرور و النقر على أى مكان من حجم العنصر ككل إفتراضيا حيث فيما بعد سوف نوضح كيف نفعل ذلك برمجيا إليكم الصورة التوضيحية :
https://i.imgur.com/g87eWPy.png
كذلك هو الحال مع عدم تفعيل Let AMS Handle Cursor Change وهو إخبار مقبض نافذة المشروع بإمكانية تغيير شكل الماوس الإفتراضى عند المرور على البليجين .
كذلك هو الحال مع عدم تفعيل Let AMS Handle Tooltip وهو لإخبار مقبض نافذة المشروع بإمكانية وضع تعليق عند مرور الماوس على البليجين .
المهم الآن هو أن نستكمل الشرح على هذا الوضع المبين بالصورة التالية مؤقتا :
https://i.imgur.com/Io9v5DW.png
ثم نضغط على الزر Ok لهذه النافذة والنافذة السابقة ليتم فتح مشروع برمجة البليجين الذى نريد إنشاؤة وبرمجته فنلاحظ أنه تم بشكل تلقائيا توليد عدة وظائف رئيسية لا يمكننا أن نعدل فى أسمائها أو إحدى الباراميترات لها يمكن من خلالها التعامل مع البليجين برمجيا والصورة التالية للتوضيح :
https://i.imgur.com/Xvr4e0m.png
هذه الوظائف هم 19 وظيفة هم كالتالى :
--
function OnCreateObject(ObjectPtr,InstanceHandle)
function OnDeleteObject(ObjectPtr)
function GetWindowHandle(ObjectPtr)
function DrawDesign(ObjectPtr,HDC,WndParent,X,Y,Width,Heigh t,Visible,Enabled)
function DrawRuntime(ObjectPtr,HDC,WndParent,X,Y,Width,Heig ht,Visible,Enabled)
function GetCustomProperties(ObjectPtr)
function SetCustomProperties(ObjectPtr,Properties)
function ShowProperties(ObjectPtr,PluginFolder)
function HideInternalObject(ObjectPtr)
function DoSetFocus(ObjectPtr)
function ShowWindow(ObjectPtr,Visible)
function OnMouseOver(ObjectPtr,WndParent,MouseX,MouseY,X,Y, Width,Height)
function OnMouseLeave(ObjectPtr,WndParent,MouseX,MouseY,X,Y ,Width,Height)
function OnLBtnDown(ObjectPtr,WndParent,MouseX,MouseY,X,Y,W idth,Height)
function OnLBtnUp(ObjectPtr,WndParent,MouseX,MouseY,X,Y,Wid th,Height)
function OnLBtnDoubleClick(ObjectPtr,WndParent,MouseX,Mouse Y,X,Y,Width,Height)
function OnRBtnDown(ObjectPtr,WndParent,MouseX,MouseY,X,Y,W idth,Height)
function OnRBtnUp(ObjectPtr,WndParent,MouseX,MouseY,X,Y,Wid th,Height)
function OnRBtnDoubleClick(ObjectPtr,WndParent,MouseX,Mouse Y,X,Y,Width,Height)
https://i.imgur.com/RQXcMhj.gif
نستكمل فيما هو قادم " إن شاء الله "