Суббота, 23 Ноября 2024, 07:37

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Создание объекта с параметрами
gameshulkerДата: Суббота, 17 Апреля 2021, 20:41 | Сообщение # 1
был не раз
Сейчас нет на сайте
Так выходит, что я задаю четвёртый вопрос подряд. Этот вопрос был интересен мне давно, но я как-то откладывал его и решал "костылями". Самый простой пример того, что я хочу:

Допустим у меня есть один объект с кнопкой (к примеру oButton), и есть переменная (пусть будет selectedButton). И мне, чтобы не делать кучу объектов с кнопками (поскольку мне нужно много разных кнопок с разными действиями), нужно чтобы у меня был один объект и с помощью selectedButton я бы проверял идентификатор кнопки на которую я нажал.

И из этого выливается следующий вопрос. Как я могу сделать 10 кнопок в instance_create и задать каждой кнопке разный selectedButton при создании? А потом при нажатии проверить selectedButton кнопки, на которую я нажал и в зависимости от этого делать разные действия у кнопок.

Заранее спасибо!
TLTДата: Суббота, 17 Апреля 2021, 21:07 | Сообщение # 2
Сейчас нет на сайте
Цитата gameshulker ()
Допустим у меня есть один объект с кнопкой (к примеру oButton), и есть переменная (пусть будет selectedButton). И мне, чтобы не делать кучу объектов с кнопками (поскольку мне нужно много разных кнопок с разными действиями), нужно чтобы у меня был один объект и с помощью selectedButton я бы проверял идентификатор кнопки на которую я нажал.


Сделать родительский объект, и присвоить его дочерним, на которые будут распространяться свойства родительского. Раньше в GM такое можно было делать даже из интерфейса в окне настройки объекта, не знаю как сейчас...


Дао, выраженное словами, не есть истинное Дао.
MagicHeroДата: Воскресенье, 18 Апреля 2021, 11:22 | Сообщение # 3
участник
Сейчас нет на сайте
Я в своей игре порой на одну кнопку-обьект назначаю десятки действий. Делается все просто, добавляешь в обьект переменную которая отвечает за тип действия.

Код
var temp=instance_create_depth(x,y,depth,oButton);
temp.selectedButton=number;  // number - тип действия

// в самом обьекте oButton например через switch выбираешь действие кнопки

switch (selectedButton) {
     case 1: { } break;
     case 2: { } break;
}

gameshulkerДата: Воскресенье, 18 Апреля 2021, 11:54 | Сообщение # 4
был не раз
Сейчас нет на сайте
Цитата MagicHero ()
temp.selectedButton=number;  // number - тип действия


Подожди, разве selectedButton=number не присвоется сразу ко всем кнопкам? То есть у меня 10 кнопок, и я пишу temp.selectedButton=5. SelectedButton будет равно 5 у всех кнопок же?

Емаеее, я допёр. То есть temp это как бы именно тот экземпляр, который мы создаем. А если сделать temp2 = instance_create, то это получается что свойства temp не будут касаться temp2, хотя и то и то есть объект кнопки.

Спасибо, вот этого не знал.


Сообщение отредактировал gameshulker - Воскресенье, 18 Апреля 2021, 12:04
UNIT02_GAMES_STUDIOДата: Суббота, 24 Апреля 2021, 17:01 | Сообщение # 5
почетный гость
Сейчас нет на сайте
Как и многие новички, я раньше тоже делал меню с помощью отдельных объектов кнопки. Сам не знаю почему я так делал и другие так делали. Но я вскоре понял, что это не удобно, рисовать кучу кнопок, объекты для каждой создавать. Лучше сделать меню простым текстом. Объект всего один и спрайтов никаких нет. Так проще.

МОИ ИГРЫ:
[2D] Агент Green [Action-platformer]
[2D] Оставшиеся: Мир После Нас [TDS]
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг