MOLIER ART STUDIO
Пятница, 29.03.2024, 18:27
Приветствую Вас Гость | RSS
 
Главная Нужна помощь - ФорумРегистрацияВход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Wintermute Engine » Скрипты / Script » Нужна помощь (в реализации кода индикатора)
Нужна помощь
VampireДата: Воскресенье, 16.01.2011, 06:00 | Сообщение # 1
Группа: Проверенные
Сообщений: 48
Награды: 0
Репутация: 3
Статус: Offline
Награды
Здравствуйте! Нужна помощь в реализации следующей схемы:
Имеются 2 переменные: global health_GG и global psy_GG
Первая отвечает за здоровье ГГ, вторая - за уровень страха.

Так же имеется вот такой индикатор:

Суть его в том, что черный квадрат в центре карты должен менять цвет, в зависимости от состояния ГГ. Нижняя половина обозначает здоровье, и связана с переменой health_GG, а верхняя половина квадрата обозначает уровень страха, и связана с переменой psy_GG. Так же имеется набор спрайтов для верхней и нижней половины квадрата. Спрайты 4 цветов - черный, красный, зеленый и синий.

Вся система реализована в виде объекта med.Window, на фоне стоит изображение карты, на месте черного поля стоит кнопка с именем Sart_test, верхнюю и нижнюю половины черного поля закрывают два объекта Entity Container, ссылающиеся на Entity_health, и Entity_psy. В скрипте окна прописан код, запускающийся при нажатии на кнопку Sart_test, этот код отслеживает состояние переменных global health_GG и global psy_GG.

Схематически это выглядит так:

Вот часть кода, отвечающая за проверку:

global health_GG;
global psy_GG;

on "Start_test"
//// здоровье
if (health_GG>99)
{
\\\здесь должен быть код, загружающий синий спрайт в объект Entity_health
}

if (health_GG<100)
{
\\\здесь должен быть код, загружающий зеленый спрайт в объект Entity_health
}

if (health_GG<60)
{
\\\здесь должен быть код, загружающий красный спрайт в объект Entity_health
}

if (health_GG<30)
{
\\\здесь должен быть код, загружающий черный спрайт в объект Entity_health
}

//// страх
if (psy_GG>99)
{
\\\здесь должен быть код, загружающий синий спрайт в объект Entity_psy
}

if (psy_GG<100)
{
\\\здесь должен быть код, загружающий зеленый спрайт в объект Entity_psy
}

if (psy_GG<60)
{
\\\здесь должен быть код, загружающий красный спрайт в объект Entity_psy
}

if (psy_GG<30)
{
\\\здесь должен быть код, загружающий черный спрайт в объект Entity_psy
}

Теперь, собственно вопрос: Каким образом можно загрузить спрайт в объект Entity? (В коде это действие должно происходить на месте текста "\\\здесь должен быть код, загружающий...").

Буду рад любой помощи.

Прикрепления: 0723090.png (402.2 Kb) · 6812310.jpg (346.6 Kb)


Никто не вечен, ничто не вечно, одно лишь время - бесконечно.
 
AmneziAДата: Воскресенье, 16.01.2011, 10:01 | Сообщение # 2
Группа: Модераторы
Сообщений: 355
Награды: 3
Репутация: 15
Статус: Offline
Награды
За хорошую репутацию +10 За 100 Сообщений За 200 Сообщений За 300 Сообщений
хорошая идея! будет время - попробую разобраться

Мой канал о моделизме: https://goo.gl/LgXUK9

На изломе неба
Был рожден наш мир.
Создавая землю, Первый,
Врядли ведал что творил...
 
P1LL0TTДата: Воскресенье, 16.01.2011, 22:50 | Сообщение # 3
Группа: Проверенные
Сообщений: 53
Награды: 3
Репутация: 8
Статус: Offline
Награды
Попробуй сделать цветовые индикаторы не как спрайты, а как просто картинки.
В самом окошке создай 2 Static control'a с именами Psi и Health. (Это, как я понял, уже сделано, но мало ли...)
В коде будет примерно так:

Code
global health_GG;     
global psy_GG;     

on "Start_test"     
{
         //// здоровье     
         if (health_GG>99)     
         {     
              var Entity_health = this.GetControl("Heath");
              Entity_health.SetImage ("<путь к синей картике>");
         }
..и.т.д..
}

вроде, должно работать)


И это лучшее не свете колдовство,
Ликует солнце на лезвии гребня,
И это все, и больше нету ничего -
Есть только небо, вечное небо.

БЛОГ МОЕЙ ИГРЫ: http://dragon-3.blogspot.com/


Сообщение отредактировал P1LL0TT - Воскресенье, 16.01.2011, 22:53
 
VampireДата: Понедельник, 17.01.2011, 04:24 | Сообщение # 4
Группа: Проверенные
Сообщений: 48
Награды: 0
Репутация: 3
Статус: Offline
Награды
P1LL0TT, Спасибо огромное, все получилось! Обязательно упомяну тебя в титрах своей игры biggrin

Никто не вечен, ничто не вечно, одно лишь время - бесконечно.
 
P1LL0TTДата: Понедельник, 17.01.2011, 15:34 | Сообщение # 5
Группа: Проверенные
Сообщений: 53
Награды: 3
Репутация: 8
Статус: Offline
Награды
Спасибо, я правда очень польщён smile

И это лучшее не свете колдовство,
Ликует солнце на лезвии гребня,
И это все, и больше нету ничего -
Есть только небо, вечное небо.

БЛОГ МОЕЙ ИГРЫ: http://dragon-3.blogspot.com/
 
VampireДата: Понедельник, 17.01.2011, 17:40 | Сообщение # 6
Группа: Проверенные
Сообщений: 48
Награды: 0
Репутация: 3
Статус: Offline
Награды
good

Никто не вечен, ничто не вечно, одно лишь время - бесконечно.
 
Форум » Wintermute Engine » Скрипты / Script » Нужна помощь (в реализации кода индикатора)
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2024
!!! На сайте могут находиться статьи, которые, честно и не помню, откуда они у меня появились, одним словом нет информации о первоисточнике и авторе, если на них наткнётся автор, просьба к нему написать мне, чтобы я смог поставить ссылку на источник. !!!