Создание объекта с параметрами
|
|
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]
|
|
| |