top of page
إنشاء شريط صحة للعدو

نقوم بإنشاء ملف جديد في داخل ملف content ونقوم بتسميته widget
وفي داخل ملف widget نقوم بإنشاء ملف ونقوم بتسميته allimages
سنقوم بإستيراد صورة شريط الطاقة من الملف الذي قمنا بتحميله من الرابط بإسم(2)greenbar و(3)greenbar ونقوم بتخزينه في ملف allimages

1- علينا أولاً بإضافة شريط صحة العدو ويمكننا الحصول عليه من هذا الرابط
https://adwitr.itch.io/pixel-health-bar-asset-pack-2/download/eyJleHBpcmVzIjoxNzI3NjI5NDU5LCJpZCI6MjU2NDMyfQ%3d%3d.U7pr3Uza0NLMidLRly4JwY6DWTk%3d

image.png
image.png

في ملف widget سنقوم بإنشاء شريط طاقة العدو 
ولنقوم بإنشائه فعلينا بالضغط بالفارة اليسار ثم user interface ثم widget blueprint ونختار user widget ونقوم بتسميته orchealthbar
user interface: هو كل ما سيظهر على واجهة المستخدم من(شريط الطاقة, المحادثات)
widget blueprint: يسمح بإنشاء عناصر مرئية على واجهة المستخدم ويمكن التعديل على برمجتها

image.png
image.png

عند فتح بلوبرنت شريط الطاقة سنجد الصفحة فارغة

image.png

وفي أعلى الشاشة على اليسار هناك خانة اسمها search pallete ومنها يمكننا إستدعاء عناصر جاهزة تم إنشائها من قبل الأنريل 
ولأننا نريد شريط طاقة فأفضل عنصر يمكننا إستدعائه يدعى progress bar ونقوم بسحبه إلى المنتصف.
في صفحة التفاصيل على اليمين سنقوم بالتوجه إلى خانة
style
style: خانة تحتوي على نوعين من الصور(الخلفية, الملئ)

image.png

في خانة style هناك background image التي ستكون صورة شريط طاقة العدو الفارغة والتي ستكون (3)greenbar
وهناك fill image التي ستكون صورة شريط العدو الممتلئة والتي ستكون (2)greenbar
ويمكننا تغيير قيمة شريط الطاقة عن طريق التحكم في معدل percent أسفل خانة progress 

2- وضع برمجيات صحة العدو (widget)

عند فتح ملف بلوبرنت الويدجت(orchealthbar) هناك في أعلى اليمين صفحة graph نستطيع أن نضع جميع البرمجيات بها, لنقم بالضغط عليها

image.png

عند فتح ملف بلوبرنت الويدجت(orchealthbar) هناك في أعلى اليمين صفحة graph نستطيع أن نضع جميع البرمجيات بها.
1- أولاً دعونا ننتقل إلى ملف بلوبرنت العدو(bp_orc) ونقوم بإنشاء متغير جديد من نوع float ونسميه (maximumhealth).
2- نقوم بإستدعاء المتغير (maximumhealth) ونقوم بتعيين قيمته لتكون قيمة(orchealth)
ونقوم بتوصيله مع حدث بداية اللعب (event BeginPlay) ثم نضغط compile.
.......... سأقوم بالشرح 
3- سننتقل الآن إلى صفحة graph في ملف بلوبرنت الويدجت وسنجد بأن هناك حدثاً يدعى event construct: حدث يقوم بالعمل فقط بعد ظهور الويدجت (
orchealthbar) على الشاشة اثناء اللعب.

image.png

4- سنجد بأن هناك متغيراً تم تعريفه في خانة variables بإسم progressBar لنقم بإستدعائه
progressBar: شريط الطاقة الذي أنشأناه
5- من المتغير 
progressBar نقوم بإنشاء نقطة (set percent)
set percent: نقوم بتعيين قيمة شريط الطاقة والتي ستكون من نوع float والقيمة ستكون من 0 إلى 1.
كيف عرفت أن القيمة سكون فقط من 0 إلى 1؟ بالإنتقال إلى صفحة التصميم(designer) ثم خانة percent سنجد بأن قيمة الحد الأعلى 1 والأدنى 0.

image.png
image.png

6- علينا الآن بإستدعاء مرجع للعدو(bp_orc) عن طريق إنشاء متغير جديد ونسميه orcReference
سيكون المرجع بمثابة متغير يمكننا منه إستيراد جميع بيانات العدو وبرمجياته المحفوظة.

image.png

7- سنقوم بالضغط على نوع المتغير ونكتب في مربع البحث إسم البلوبرنت الخاص بالعدو وهو (bp_orc) ثم ستظهر صفحة أخرى لتحديد نوع المرجع, وسنختار (objectreference)

image.png

8- نقوم بإستدعاء مرجع الشخصية, ومن المرجع نستخرج قيمتي الطاقة للعدو الذين قد أنشأناهم في بلوبرنت العدو وهم maximum health و orchealth.

image.png

9- نقوم بإنشاء نقطة تقسيم(divide)
سنقوم بتقسيم قيمة orchealth على قيمة Maximumhealth ثم نقوم بتوصيلها مع نقطة set percent لكي تعطينا فقط قيمة بين 0 و1 .

image.png

10- سنقوم بإنشاء حدث مخصص(custom event) ونقوم بتسميته UpdateOrchHalthbar
حدث يقوم بحمل قيمة الضرر الذي يتعرض له العدو في كل ضربة على شريط الطاقة, ويمكننا إستدعائه في أي وقت.

image.png

10- سنقوم بإنشاء حدث مخصص(custom event) ونقوم بتسميته UpdateOrchHalthbar
حدث يقوم بحمل قيمة الضرر الذي يتعرض له العدو في كل ضربة على شريط الطاقة, ويمكننا إستدعائه في أي وقت.

3- إظهار شريط صحة العدو باللعبة

علينا الآن أن نقوم بفتح ملف البلوبرنت للعدو وننتقل إلى صفحة إطار العرض ثم نقوم بالآتي:

1- في صفحة إطار العرض وفي خانة component أعلى اليسار نقوم بالكتابة في مربع البحث   widget  

image.png

2- في صفحة التفاصيل وعند خانة user interface سنجد خيار widget class نقوم بإختيار شريط الطاقة الذي أنشأناه (Orcehealthbar)

3- نقوم بالتعديل على محور شريط الطاقة ليصبح أعلى العدو عن طريق تدويره بزاوية 90.

image.png

4- نقوم بتغيير خيار space ليصبح من world إلى screen 
والسبب في ذلك هو لكي نجعل شريط طاقة العدو في الشاشة بكل الأوقات وبكل مكان يتحرك فيه العدو.

image.png

لقد قمنا في ملف بلوبرنت الويدجت بإنشاء متغير يحمل جميع بيانات العدو وبرمجياته المحفوظة وقمنا بتسميته orcReference
وما نريد فعله الآن هو بالإنتقال إلى بلوبرنت العدو لنقم بإستدعاء المتغيرorcReference لكي يظهر شريط طاقة العدو في كل مرة نبدأ اللعب 
ويمكننا إستدعائه عن طريق عمل الآتي: 
5- سنقوم بإستدعاء widget من خانة component أعلى اليسار
6- من نقطة 
widget نستخرج نقطة get widget: نقطة تجعلنا نستطيع أخذ قيمة أي widget تم إنشائه. 
7- من نقطة 
get widget نستخرج نقطة cast to Orchealthbar: يقوم بأخذ قيمة وبيانات بلوبرنت الويدجت الخاص بشريط طاقة العدو.
8- من نقطة 
cast to Orchealthbar وفي جزئية as Orchealthbar نستخرج نقطة
set orcReference: نقطة تقوم بتعريف قيمة جديدة لمرجع العدو وستكون قيمته هو بلوبرنت العدو الحالي(self).
9-
نقوم بتحويل as Orchealthbar إلى قيمة(promote as variable) حتى تكون كمرجع نستطيع إستدعائه في أي وقت.
مرجع يحمل بيانات بلوبرنت الويدجت الخاص بشريط طاقة العدو وبلوبرنت العدو(self)

وعند بدأ اللعب سيظهر شريط طاقة العدو ويتحرك مع العدو.

image.png
image.png

3- إظهار شريط صحة العدو عند التعرض للضرر

أولاً علينا أن نقوم بإيقاف ظهور شريط طاقة العدو عند بدء اللعب عن طريق الضغط widget من خانة التفاصيل ثم الكتابة في مربع البحث visible وجعلها غير محدة, وسنجد بأنه عند بدأ اللعب لن يظهر شريط طاقة العدو.

image.png
image.png

الآن علينا بوضع البرمجيات التي ستجعل طاقة العدو تظهر أثناء الضرب فقط ولفعل ذلك علينا فعل الآتي:
1- الإنتقال إلى ملف بلوبرنت العدو وإستدعاء widget من قائمة component
2-من نقطة widget نستخرج نقطة set visibility: تقوم تلك النقطة بإظهار أو إخفاء شريط طاقة العدو, وستعمل بعد تعرض العدو للضرر مباشرةً(الإنتقال لأنيميشن الضرر).
3- ننسخ النقطتين 
widget و set visibility وستغلق بعد موت العدو(الإنتقال لأنيميشن الجثة)

image.png
image.png

4- نقوم بإستدعاء القيمة As Orchealthbar ومنها نستخرج النقطة
update orcHealthbar: هو حدث
يقوم بحمل قيمة الضرر الذي يتعرض له العدو في كل ضربة على شريط الطاقة, وقيمته هو ناتج قسمة طاقة العدو(orchealth) على الحد الأقصى للطاقة(maximum health).
وستعمل تلك النقطة البرمجية مباشرةً بعد تلقي الضررevent anydamage(orchealth).

image.png
image_edited.jpg
bottom of page