Реализация кнопок
|
|
Liriant | Дата: Понедельник, 10 Декабря 2018, 16:57 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Кхм, есть объект, при нажатии на него появляются 3 кнопки, при нажатии на каждую из них будут совершатся определённые действия. Как реализовать это не создавая каждую кнопку как отдельный объект?
Вперёд во тьму.
|
|
| |
AlexanderBekker | Дата: Понедельник, 10 Декабря 2018, 18:28 | Сообщение # 2 |
BekkerDev Studio
Сейчас на сайте
| В Create объекта кнопки:
В событии нажатия мышью:
Код switch (action) { case 0: // Действие 1 break; case 1: // Действие 2 break; case 2: // Действие 3 break; } Затем в Creation Code каждому из объектов кнопки, расположенных в комнате, прописать:
Код action = номер_действия; // Например, action = 0;
Это первое, что пришло на ум.
Разработчик, композитор и издатель инди-игр в Steam. Редактор карт: BekkerDev Level Editor 4 Страница разработчика в Steam Паблик ВК: BekkerDev Studio
|
|
| |
Liriant | Дата: Вторник, 11 Декабря 2018, 07:08 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Цитата AlexanderBekker ( ) Затем в Creation Code каждому из объектов кнопки, расположенных в комнате, прописать: Код action = номер_действия; // Например, action = 0;
Кнопки не присутствуют в комнате до запуска. Они создаются при нажатии на объект
Вперёд во тьму.
|
|
| |
AlexanderBekker | Дата: Вторник, 11 Декабря 2018, 15:45 | Сообщение # 4 |
BekkerDev Studio
Сейчас на сайте
| Тогда вот так:
Код button1 = instance_create(x, y, objButton); button1.action = 0; button2 = instance_create(x, y, objButton); button2.action = 1; button3 = instance_create(x, y, objButton); button3.action = 2;
Разработчик, композитор и издатель инди-игр в Steam. Редактор карт: BekkerDev Level Editor 4 Страница разработчика в Steam Паблик ВК: BekkerDev Studio
|
|
| |
Liriant | Дата: Вторник, 11 Декабря 2018, 16:38 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| Цитата AlexanderBekker ( ) Тогда вот так: Код button1 = instance_create(x, y, objButton); button1.action = 0; button2 = instance_create(x, y, objButton); button2.action = 1; button3 = instance_create(x, y, objButton); button3.action = 2;
Цитата AlexanderBekker ( ) Тогда вот так: Код button1 = instance_create(x, y, objButton); button1.action = 0; button2 = instance_create(x, y, objButton); button2.action = 1; button3 = instance_create(x, y, objButton); button3.action = 2;
А как сделать чтоб они пропадали когда игрок отойдёт?
Вперёд во тьму.
|
|
| |
AlexanderBekker | Дата: Вторник, 11 Декабря 2018, 17:16 | Сообщение # 6 |
BekkerDev Studio
Сейчас на сайте
| Цитата Liriant ( ) А как сделать чтоб они пропадали когда игрок отойдёт? Покажу на примере. Допустим, игрок стоит рядом с сундуком, при открытии которого создаются элементы интерфейса, посредством которых идёт взаимодействие с сундуком. И чтобы их удалить, нужно проверить дистанцию между игроком и сундуком.
Код if (distance_to_object(objChest) > расстояние) { with (objChestUI) instance_destroy(); } При таком способе реализации все объекты, отвечающие за интерфейс, должны быть унаследованы от objChestUI. Возможно, в Game Maker уже появились более рациональные средства для реализации подобных вещей, этого я не могу знать, поскольку давно не работал на нём, но вот в ЯП эта задача решается проще простого.
Разработчик, композитор и издатель инди-игр в Steam. Редактор карт: BekkerDev Level Editor 4 Страница разработчика в Steam Паблик ВК: BekkerDev Studio
|
|
| |