Хелсбар с помощью спрайта. Как реализовать?
|
|
Core | Дата: Среда, 29 Мая 2019, 07:54 | Сообщение # 1 |
заслуженный участник
Сейчас нет на сайте
| Искал ответ на многих сайтах, он ничего не нашел. Нужно сделать хороший хелсбар с фоном и пикселями Надеюсь на вашу помощь заранее спасибо.
|
|
| |
martuk | Дата: Среда, 29 Мая 2019, 09:38 | Сообщение # 2 |
заслуженный участник
Сейчас нет на сайте
| Core, Какой именно интересует? Можешь показать примеры того, что ты примерно хочешь?Добавлено (29 Мая 2019, 09:52) --------------------------------------------- Вот на видео автор сделал из спрайта, ты это хотел?
|
|
| |
|
martuk | Дата: Среда, 29 Мая 2019, 21:32 | Сообщение # 4 |
заслуженный участник
Сейчас нет на сайте
| Core, Лично я вижу так: Данный бар действительно можно разделить (условно) на два спрайта. Первая часть - верхний слой, это черная сетка и знак плюса. Второй слой (нижний) это уже само здоровье под сеткой. Само здоровье (нижний слой) рисуй функцией draw_sprite_part. Затем поверх сетку обычной draw_sprite.
Функция draw_sprite_part как бы рисует часть от спрайта, а там уже можно легко подобрать нужную математику.
Сообщение отредактировал martuk - Среда, 29 Мая 2019, 21:34 |
|
| |
Core | Дата: Среда, 29 Мая 2019, 23:59 | Сообщение # 5 |
заслуженный участник
Сейчас нет на сайте
| Ок, тут все получилось, но как мне сделать чтоб хелсбар был прикреплен к виду?
Код draw_healthbar(x-25,y-27,x+25,y-31,(global.lp/global.lpmax)*100,c_black,c_blue,c_blue,0,1,1)
|
|
| |
martuk | Дата: Четверг, 30 Мая 2019, 09:21 | Сообщение # 6 |
заслуженный участник
Сейчас нет на сайте
| Цитата Core ( ) draw_healthbar(x-25,y-27,x+25,y-31,(global.lp/global.lpmax)*100,c_black,c_blue,c_blue,0,1,1) Но это же не совсем то, что ты хотел) А чтобы прикрепить к виду, нужно рисовать в событии Draw GUI
|
|
| |
Core | Дата: Пятница, 31 Мая 2019, 02:40 | Сообщение # 7 |
заслуженный участник
Сейчас нет на сайте
| Цитата martuk ( ) Но это же не совсем то, что ты хотел) Да) решил сильно не усложнять.
Цитата martuk ( ) А чтобы прикрепить к виду, нужно рисовать в событии Draw GUI Этот Draw можно увидеть в GM 8.0?
|
|
| |
martuk | Дата: Пятница, 31 Мая 2019, 09:24 | Сообщение # 8 |
заслуженный участник
Сейчас нет на сайте
| Цитата Core ( ) Этот Draw можно увидеть в GM 8.0? Начиная с первой студии.
В game maker 8 прикрепить к виду можно так:
Код x = view_xview[0]+30; y = view_yview[0]+30; 30 - это отступ от верхнего левого угла экрана. Как ты понял, тут мы просто получаем координаты вида и применяем его для отрисовки. Хелсбар будет просто "следить" за видом (камерой). Но это не самый оптимальный вариант, но рабочий.
Сообщение отредактировал martuk - Пятница, 31 Мая 2019, 09:50 |
|
| |
Core | Дата: Пятница, 31 Мая 2019, 14:56 | Сообщение # 9 |
заслуженный участник
Сейчас нет на сайте
| Цитата martuk ( ) В game maker 8 прикрепить к виду можно так А так нельзя?
Код x = view_xview+30 y = view_yview+30
Добавлено (31 Мая 2019, 16:05) --------------------------------------------- Что делать если хелсбар трясется?
|
|
| |
UNIT02_GAMES | Дата: Пятница, 31 Мая 2019, 16:42 | Сообщение # 10 |
частый гость
Сейчас нет на сайте
| Цитата Core ( ) Что делать если хелсбар трясется? Попробуй переместить код например в End Step или Draw
///
|
|
| |
Core | Дата: Суббота, 01 Июня 2019, 09:30 | Сообщение # 11 |
заслуженный участник
Сейчас нет на сайте
| Цитата UNIT02_GAMES ( ) Попробуй переместить код например в End Step или Draw НЕ РАБОТАЕТ.
|
|
| |
martuk | Дата: Суббота, 01 Июня 2019, 10:01 | Сообщение # 12 |
заслуженный участник
Сейчас нет на сайте
| Core, в End Step пиши:
Код x=view_xview[0]; y=view_yview[0]; А в draw:
Код draw_sprite(sprite, 0, x, y);
А еще лучше перейди на gms1 или gms2.
Сообщение отредактировал martuk - Суббота, 01 Июня 2019, 10:02 |
|
| |
Core | Дата: Понедельник, 03 Июня 2019, 13:37 | Сообщение # 13 |
заслуженный участник
Сейчас нет на сайте
| Цитата martuk ( ) в End Step пиши i Не получается, дергается
Цитата А в draw: Код draw_sprite(sprite, 0, x, y);
У меня сам хелсбар дергается, спрайт крепко стоит.
|
|
| |
martuk | Дата: Понедельник, 03 Июня 2019, 15:23 | Сообщение # 14 |
заслуженный участник
Сейчас нет на сайте
| Не просто же так разработчики ввели новое событие DRAW GUI. Вот как раз во избежание таких вот проблем. А вдруг тебе захочется сделать зум в твоей игре? Как дальше поступишь? Будешь еще пол года изучать как работают виды? И Зачем вообще использовать морально (да и вообще) устаревшую сборку GM по всем параметрам, где для реализации простецких вещей придется велосипедить только в путь?
|
|
| |
Core | Дата: Понедельник, 03 Июня 2019, 15:40 | Сообщение # 15 |
заслуженный участник
Сейчас нет на сайте
| martuk, Существует версия gms1 32 bit? если есть, то дай ссылку.
|
|
| |
martuk | Дата: Понедельник, 03 Июня 2019, 16:02 | Сообщение # 16 |
заслуженный участник
Сейчас нет на сайте
| Core, у тебя ограничение по железу поставить 64? Иначе это не тот компьютер, который нужно использовать для разработки. К слову, gms1 и gms2 пока по прежнему экспортируют 32 битные исполнители.Добавлено (03 Июня 2019, 16:04) --------------------------------------------- Почти все компьютеры, выпущенные за последние 10-15 лет поддерживают 64-бит инструкции
|
|
| |