Health Bars

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Health Bars

Сообщение DualPain 24 май 2013, 16:33

Была необходимость создать Health Bars для Turn base стратегии, это там где сетка боя и юниты по очереди ходят.
Для этого в начале боя я каждому юниту добавил два GUITexture: один как фон (серый), второй как сама полоса хп (зеленый).
При получении урона я скейлил в процентном соотношении текстуру полосы хп и смещал ее.
Один из недостатков данного способа нельзя сделать так, чтобы полоса хп была с переливом, например, от светлого к темному, потому что если ее скейлить, то будет видно что полоса сжимается а не "отрезается"
А какие способы создания Health Bars знаете вы?! :-?
DualPain
Старожил
 
Сообщения: 727
Зарегистрирован: 11 янв 2013, 01:18
Skype: demon21.09

Re: Health Bars

Сообщение Medveckij 25 май 2013, 00:54

Добавь третий слой пустой полоски и растягивай именно его. А показатель жизни пускай будет позади с какой угодно текстурой или градиентом.
Аватара пользователя
Medveckij
Адепт
 
Сообщения: 1014
Зарегистрирован: 10 ноя 2012, 15:44

Re: Health Bars

Сообщение DualPain 25 май 2013, 01:27

Medveckij писал(а):Добавь третий слой пустой полоски и растягивай именно его. А показатель жизни пускай будет позади с какой угодно текстурой или градиентом.

тогда прозрачность нельзя сделать
DualPain
Старожил
 
Сообщения: 727
Зарегистрирован: 11 янв 2013, 01:18
Skype: demon21.09

Re: Health Bars

Сообщение BornFoRdeatH 25 май 2013, 01:40

Плашка, и резать по альфамаске.

Либо использовать гуй бокс, и его уже скейлить.
Не бойся, если ты один, бойся, если ты ноль.
BornFoRdeatH
Адепт
 
Сообщения: 2377
Зарегистрирован: 22 окт 2011, 23:41
Откуда: Украина
Skype: bornfordeath

Re: Health Bars

Сообщение Medveckij 25 май 2013, 01:41

DualPain писал(а):
Medveckij писал(а):Добавь третий слой пустой полоски и растягивай именно его. А показатель жизни пускай будет позади с какой угодно текстурой или градиентом.

тогда прозрачность нельзя сделать


Да все можно, включите мозг. Или за вас каждый шаг рассказывать как реализовать?
Аватара пользователя
Medveckij
Адепт
 
Сообщения: 1014
Зарегистрирован: 10 ноя 2012, 15:44

Re: Health Bars

Сообщение DualPain 25 май 2013, 01:50

BornFoRdeatH писал(а):Плашка, и резать по альфамаске.

Либо использовать гуй бокс, и его уже скейлить.


можно немного подробне?)) и в чем преимущество по сравнению с тем способом что я делал?
DualPain
Старожил
 
Сообщения: 727
Зарегистрирован: 11 янв 2013, 01:18
Skype: demon21.09

Re: Health Bars

Сообщение BornFoRdeatH 25 май 2013, 01:56

1. Плашка быстрее в плане производительности.
2. Бокс отсекает часть изображения а не скейлит.
Не бойся, если ты один, бойся, если ты ноль.
BornFoRdeatH
Адепт
 
Сообщения: 2377
Зарегистрирован: 22 окт 2011, 23:41
Откуда: Украина
Skype: bornfordeath

Re: Health Bars

Сообщение DualPain 25 май 2013, 01:58

BornFoRdeatH писал(а):1. Плашка быстрее в плане производительности.
2. Бокс отсекает часть изображения а не скейлит.


а в чем плашка быстрее? ведь она так же вызывает DC
DualPain
Старожил
 
Сообщения: 727
Зарегистрирован: 11 янв 2013, 01:18
Skype: demon21.09

Re: Health Bars

Сообщение Diab10 25 май 2013, 08:56

DrawTexture (position : Rect, image : Texture, scaleMode : ScaleMode = ScaleMode.StretchToFill, alphaBlend : boolean = true, imageAspect : float = 0) : void

scaleMode How to scale the image when the aspect ratio of it doesn't fit the aspect ratio to be drawn within.

Просто поменять scaleMode. Тогда изображение не будет подстраиваться под размер, а просто будет обрезаться при уменьшении размера
Аватара пользователя
Diab10
Адепт
 
Сообщения: 3401
Зарегистрирован: 17 мар 2011, 20:42
Откуда: 123 RUS
Skype: diab1023

Re: Health Bars

Сообщение DualPain 25 май 2013, 17:40

Diab10 писал(а):DrawTexture (position : Rect, image : Texture, scaleMode : ScaleMode = ScaleMode.StretchToFill, alphaBlend : boolean = true, imageAspect : float = 0) : void

scaleMode How to scale the image when the aspect ratio of it doesn't fit the aspect ratio to be drawn within.

Просто поменять scaleMode. Тогда изображение не будет подстраиваться под размер, а просто будет обрезаться при уменьшении размера


в данном случае изображение обрезается с обех сторон одновременно, надо чтоб только с одной
DualPain
Старожил
 
Сообщения: 727
Зарегистрирован: 11 янв 2013, 01:18
Skype: demon21.09

Re: Health Bars

Сообщение Левш@ 25 май 2013, 20:33

а в чем плашка быстрее? ведь она так же вызывает DC

Тем что плашкам можно сделать развертки и уложить все текстуры интерфейса в 1 атлас.
_X.cor.R (Prologue)
Аватара пользователя
Левш@
Адепт
 
Сообщения: 4073
Зарегистрирован: 14 окт 2009, 16:34
Откуда: IBERIA
Skype: bars_levsha
  • Сайт

Re: Health Bars

Сообщение Angel 07 25 май 2013, 21:59

Чтобы с одной стороны обрезалась картинка, можно использовать GUI.BeginGroup() и GUI.EndGroup();
_ttp://shekn.deviantart.com/
Аватара пользователя
Angel 07
UNIверсал
 
Сообщения: 367
Зарегистрирован: 02 окт 2010, 18:58

Re: Health Bars

Сообщение Diab10 26 май 2013, 00:48

Angel 07 писал(а):Чтобы с одной стороны обрезалась картинка, можно использовать GUI.BeginGroup() и GUI.EndGroup();


+1. Только что так делал у себя
Аватара пользователя
Diab10
Адепт
 
Сообщения: 3401
Зарегистрирован: 17 мар 2011, 20:42
Откуда: 123 RUS
Skype: diab1023

Re: Health Bars

Сообщение Medveckij 26 май 2013, 04:21

Angel 07 писал(а):Чтобы с одной стороны обрезалась картинка, можно использовать GUI.BeginGroup() и GUI.EndGroup();


О, отличная идея. Все гениальное — просто.
Аватара пользователя
Medveckij
Адепт
 
Сообщения: 1014
Зарегистрирован: 10 ноя 2012, 15:44


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32