Меню в Game Maker
|
|
AzhakinZenya | Дата: Пятница, 25 Ноября 2011, 22:14 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| С чего начинается игра? С меню! Как создать меню? Читаем!
1. Зачем нужно меню? Меню в любой игре просто необходимо, где, например, разместить столь полезные кнопочки как "Начать Игру", "Загрузить Игру", "Выйти из игры"? В меню.
2. Создание меню Итак, приступим. Перед тем, как начать создавать меню, убедитесь, что у вас есть спрайты кнопок (Кнопка, кнопка когда на неё наведена мышка)
Если у вас есть спрайты, создаём комнату. Назовём её "Меню". Создаём обьекты "Начать", "Загрузить", "Выйти". Настраиваем их (Как - читаем ниже)
Настройка обьекта "Начать". Создаём событие - Мышь - Левая Кнопка. Даём событию действие - Go ro room "Ваша комната" Создаём событие - Мышь - Наведение курсором мыши. Даём событию действие - Change sprite into "Спрайт кнопочки при наведении курсора" Создаём событие - Мышь - Покидание курсором мыши. Даём событию действие - Change sprite into "Спрайт простой кнопочки"
Итак, за что отвечает первое событие? При клике по кнопочке из меню игрока перенесёт в назначенную комнату. Второе событие - Тут, думаю, всё ясно. Третье событие - Тут тоже =) Настройка обьекта "Загрузить" ВНИМАНИЕ! Без сохранения кнопка работать не будет (Можно создать на 2-м уровне обьект с событием - создание и действием создать сохранение) Создаём событие - Мышь - Левая Кнопка. Даём событию действие - Load the Game (В поле вбиваем имя нашего сейва) Создаём событие - Мышь - Наведение курсором мыши. Даём событию действие - Change sprite into "Спрайт кнопочки при наведении курсора" Создаём событие - Мышь - Покидание курсором мыши. Даём событию действие - Change sprite into "Спрайт простой кнопочки"
Первое событие: После нажатия этой кнопки игра проверяет наличие сэйва в папке с exeшником, если сэйва нет - игра не реагирует. Второе событие: Тут всё понятно Третье событие: Тут всё понятно
Настройка обьекта "Выйти" Создаём событие - Мышь - Левая Кнопка. Даём событию действие - End the Game (Закрыть игру) Создаём событие - Мышь - Наведение курсором мыши. Даём событию действие - Change sprite into "Спрайт кнопочки при наведении курсора" Создаём событие - Мышь - Покидание курсором мыши. Даём событию действие - Change sprite into "Спрайт простой кнопочки"
Первое событие: При нажатии игра закрывается. Второе событие: Тут всё понятно Третье событие: Тут всё понятно
Пример меню: Кнопка "Авторы" переносит игрока в комнату со спрайтом, на котором написан мой ник.
При копировании материала указывайте источник! Gcup.ru!
|
|
| |
SchattenKatze | Дата: Пятница, 25 Ноября 2011, 22:42 | Сообщение # 2 |
частый гость
Сейчас нет на сайте
| AzhakinZenya, Однако вы не думали при написании урока об оптимизации? Все, что вы выше написали можно сделать гораздо легче: Quote Создаем спрайты необходимых нам кнопок У каждого спрайта делаем анимацию (первый кадр - исходное положение, второй кадр - мышь на кнопке, третий кадр - кнопка нажата) Создаем первую кнопку В событии Создания прописываем: image_speed=0 В событии Наведения мыши прописываем: image_index=1 В событии Покидания мыши прописываем: image_index=0 В событии Нажатия мыши прописываем: image_index=2; room_goto_next() или другое, необходимое нам событие По аналогии с первой кнопкой делаем остальные! Если что, вот пример! http://rghost.ru/32012391
Сообщение отредактировал SchattenKatze - Пятница, 25 Ноября 2011, 22:48 |
|
| |
AzhakinZenya | Дата: Пятница, 25 Ноября 2011, 22:53 | Сообщение # 3 |
почетный гость
Сейчас нет на сайте
| Quote (SchattenKatze) AzhakinZenya, Однако вы не думали при написании урока об оптимизации? Все, что вы выше написали можно сделать гораздо легче: Не подумал =)
Добавлено (25.11.2011, 22:53) --------------------------------------------- У меня так меню работает, не лагает... Какая в меню оптимизация? =) Может быть, вы имели ввиду не оптимизацию (уменьшение лагов) а упрощение?
Сообщение отредактировал AzhakinZenya - Пятница, 25 Ноября 2011, 22:55 |
|
| |
SchattenKatze | Дата: Пятница, 25 Ноября 2011, 23:00 | Сообщение # 4 |
частый гость
Сейчас нет на сайте
| AzhakinZenya, Как раз таки упрощение и есть оптимизация, ведь чем меньше кода - тем лучше!
|
|
| |
AzhakinZenya | Дата: Пятница, 25 Ноября 2011, 23:09 | Сообщение # 5 |
почетный гость
Сейчас нет на сайте
| Да, но в моём варианте кода нет вообще =) Только кнопочки. Но кодом действительно лучше Всё, у меня уже час ночи, я спать
Сообщение отредактировал AzhakinZenya - Пятница, 25 Ноября 2011, 23:12 |
|
| |
MyACT | Дата: Суббота, 26 Ноября 2011, 06:29 | Сообщение # 6 |
C# CODERS
Сейчас нет на сайте
| AzhakinZenya, ну молодец что написал статью. Только вот наверно каждый может додуматься сделать свое меню.
3дэшечки: https://sketchfab.com/myactyindie Курентли воркс он: https://myacty.itch.io/raskopnik
|
|
| |
GameMix | Дата: Суббота, 26 Ноября 2011, 09:08 | Сообщение # 7 |
старожил
Сейчас нет на сайте
| Бросаем кнопки - переходим на GML, изучаем справку.
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
pr0grammer | Дата: Понедельник, 28 Ноября 2011, 21:59 | Сообщение # 8 |
Пользователь Game Maker
Сейчас нет на сайте
| Здесь разберется каждый нуб. Но молодец, может новичкам понадобится.
|
|
| |
Syank | Дата: Понедельник, 28 Ноября 2011, 22:27 | Сообщение # 9 |
участник
Сейчас нет на сайте
| Quote (AzhakinZenya) Создаём событие - Мышь - Наведение курсором мыши. Даём событию действие - Change sprite into "Спрайт кнопочки при наведении курсора" Создаём событие - Мышь - Покидание курсором мыши. Даём событию действие - Change sprite into "Спрайт простой кнопочки" Зачем нагромождать ресурсы ресурсы? Создаём спрайт: первый кадр - курсор не наведён, второй кадр - курсор наведён. В креат image_speed=0, в событие наведения image_index=1 в событие покидания image_index=0. Кто по усерднее - могут вообще всё а один спрайт напихать:D А вообще об элементарных вещах рассказываешь)Добавлено (28.11.2011, 22:27) --------------------------------------------- Кстати - если кнопок много, то все эти перемены типа image_index, sprite_index и прочее можно засунуть в родительский объект.
|
|
| |