Приступая к работе
Данное руководство предполагает, что у вас уже есть рисунки для шкалы жизней. Вы можете сделать его таким, каким пожелаете. Но основная структура такова:
Второе изображение необязательно, оно придаёт шкале жизней наилучший вид.
Шаг 2
Импортируйте изображения в Construct и расставьте точки изображений(image points) следующим образом:
Отрегулируйте их по мере необходимости. Это, в последствии, сделает жизнь проще при создании событий. Присвойте имена объектам. Я назвал их: Frame, Subbar и Bar. Объект персонажа или целевой объект я назвал Hero. :)
Разместите объекты вашей полоски жизней на отдельном слое, который будет располагаться поверх всего того, что у вас есть. Не забудьте установить значения параллакса для X и Y равным нулю.
Шаг 3
Давайте добавим несколько свойств. Просто добавим свойства "Life" и "MaxLife" в наш целевой объект и свойство "InitialWidth" в наш объект "Шкалы Жизни". Для добавления необходимых свойств, отправимся в панель расположенную слева, затем -> Instance Variables -> Edit Variables. Отредактируйте свойства так, как вам необходимо. Например, если у вашего героя максимальный запас жизни равен 100, просто установите значение MaxLife равным 100 и Life равным 100, либо используйте те значения, которые вам необходимы. :)
Для редактирования свойств: Либо перейти непосредственно к редактору "Instance Variables", в разделе свойств объектов, либо на листе событий (event sheet): Add Action -> Double Click On Object - > Go To "Instance Variables" section -> Set Value. Обычно в событии "On Start of Layout", но это может быть, где хочешь.
Шаг 4
Последний шаг: события. Для большей организации, добавьте лист событий HUD, или какой вы хотите, Пройдя в:
Вкладка с проектом -> Правый клик на Event Sheets -> Add Event Sheet.
Затем, добавим его в главный лист событий. Правый клик по области главного листа событий -> Include Event Sheet.
Затем, в HUD лист событий, добавьте: System: On Start of Layout. К нему добавьте действия:
- Bar: Set Position to (Frame.X, Frame.Y)
- Subbar: Set Position to (Frame.X, Frame.Y)
- Bar: Set Instance Variable InitialWidth to Self.Width
Ниже этого добавьте System: Every Tick событие с действиями:
- Bar: Set Width to (Self.InitialWidth + (Hero.Life-Hero.MaxLife)*(Self.InitialWidth/Hero.MaxLife))
(Спасибо @Sargas За подсказку!)
Вот и всё. До встречи в следующем уроке! :D
В итоге должно получиться нечто подобное: