Создание хелзбара из спрайта - Гейм-дизайн и графика - Каталог статей - Game Maker
Вторник, 06.12.2016, 08:53
Главная Регистрация RSS
Приветствую Вас, Гость
Меню сайта
Файлы и ресурсы
Топ 5 участников
1. BRESS
Репутация: 221
Сообщений на форуме: 3239
2. Gracio001
Репутация: 181
Сообщений на форуме: 1370
3. Xomafok
Репутация: 164
Сообщений на форуме: 947
4. FarEastKmS
Репутация: 125
Сообщений на форуме: 359
5. aHDp
Репутация: 114
Сообщений на форуме: 755
Топ 5 игр
Agent Green 4.6 / 5.0
Wartime 4.3 / 5.0
FeDo 4.0 / 5.0
Adventures: ... 4.0 / 5.0
Secretive ha... 4.0 / 5.0

Топ игр составлен путем пользовательского голосования.

Если вы не согласны с какой-либо оценкой, примите участие и поставьте свой балл игре. Ваша оценка очень важна для нас ;)
Статистика



На сайте: 1
Гостей: 1
Пользователей: 0
Xomafok
Просмотров страницы:
643

Рейтинг материала:

Другие работы автора:
- -

Поиск по сайту
Game Maker
Если вы только-только начали изучать игрострой и еще даже не успели скачать сам Game Maker, предлагаем вам на выбор следующие версии программы:

Game Maker 8.1
Классика. Идеально подходит для создания простых 2D игр на PC. Требует активации.
Game Maker for Mac
Абсолютно та же программа, но только для пользователей Mac. Требует активации.
Game Maker Studio
Самая новая версия с возможностью кроссплатформенной разработки. Бесплатна.
Войти на сайт

Мини-чат
300

Так как чат открыт для всех, просьба отнестись с уважением к другим посетителям и не писать осознанно посты, оскорбляющие кого-либо, содержащие открытую рекламу/спам. Спасибо за понимание! :)
Опрос
Какой версией Game Maker вы пользуетесь?
Всего ответов: 461
Мы в Вконтакте
Главная » Статьи » Гейм-дизайн и графика

Создание хелзбара из спрайта
Итак, приступим.
Для начала создадим два спрайта - spr_healthbar - он то и будет нашей шкалой...логично, не правда ли?
Ну и спрайт spr_outside - граница хеалзбара. Можно обойтись без неё, но тогда красоты в нашем творении будет поменьше. А если красота вам не важна, берите команду draw_healthbar. Кому нужна - читаем дальше.

Нарисовали? Для хеалзбара больше ничего не нужно.

Создаем обьект obj_healthbar - зачем он нужен, я думаю, всем понятно.

Теперь о переменной. Если переменная не будет изменяться, то мы получим статичную картинку. А зачем нам она? Поэтому для начала найдем переменную, за что - то реально отвечающую. У нас её нет, поэтому создадим (те, у кого в игре уже есть переменная, которую вы хотите выразить в виде хеалзбара, пропускают этот шаг).

Заходим в Create и пишем всего одну строку:
global.heal=100

Теперь приступим к рисованию хеалзбара - заходим в Draw и пишем всего 2 строки:
draw_sprite_part(sprite_index,image_index,0,0,(sprite_width/100)*global.heal,sprite_height,x,y)//Рисование хеалзбара. Если у вас уже есть переменная, которую вы хотите выразить в хеалзбаре, то замените global.heal на вашу переменную и замените 100 на максимальное значение вашей переменной
(draw_sprite(spr_outside,0,x,y)//Рисуем границу.

Все. Тестируйте. (Если у вас ничего, кроме хеалзбара нет, то сделайте в событиях клавиатуры Left и Right изменения переменной global.heal. Ну и наблюдайте.)

Что ж, всего две строки кода, а так "многа букаф". А теперь - зачем это нужно?

Стандартный хеалзбар:

Плюсы:
Почти не занимает памяти.
Всего одна строка.

Минусы:
Уродство.
Нельзя сделать анимацию.


Спрайтовый хеалзбар

Плюсы:
Красивый (если вы его нарисуете красиво)
Можно сделать анимацию


Минусы:
В два раза больше строк (мдаа, минус серьезный)
Весит больше, чем одна команда (вообще то спрайты не так уж и много весят, если вы не сделаете 100500 кадров анимации для хеалзбара размером 2560х1800)

Итак, теперь вы поняли, зачем я из 2-ух строчек текста сделал кучу обьяснений, иногда не нужных. Но все же это кому - нибудь пригодится. Наверное.
Категория: Гейм-дизайн и графика | Добавил: Xomafok (25.06.2014)
Просмотров: 643 | Комментарии: 2 | Теги: интерфейс, бар, Шкала, healthbar, хеалзбар, здоровье | Рейтинг: 4.0/1
Всего комментариев: 2
0
1 BRESS   (25.06.2014 21:39)
BRESS В плане оптимизации лучше по возможности вместо sprite_width/100 использовать заранее заготовленную переменную/число, а глобальную переменную создавать как-то так: globalvar heal; heal=100;

Ну это для того, чтобы прям тру-код замутить.

2 Xomafok   (27.06.2014 09:56)
Xomafok Это сделано для того, чтобы новички не заморачивались с "кучий цыфар".

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]