Перечисление в одном событии

техническая поддержка по Construct 3

Сообщение Перечисление в одном событии
» 15 июл 2021, 10:10

Здравствуйте, подскажите пожалуйста как сделать так, чтобы в одной строчке можно было поместить код.

Пример.

Если Объект.IID равен 1-4-3-5 (по порядку как в примере), то происходит действие.

Чтобы не писать по отдельности для каждой цифры или буквы.

Заранее спасибо :smile:
Аватара пользователя

Участник
Сообщений: 36
Я тут с 09 июн 2018
Репутация 0 [ ? ]

Сообщение Перечисление в одном событии
» 15 июл 2021, 10:34

не выйдет, тут надо для каждого писать, но можно это вывести в функцию и в ней прописать для каждого IID варианты действий. Только если действие одинаковое, то можно попробовать использовать вот такую конструкцию
condition ? result_if_true : result_if_false
Например, если у всех экземпляров объекта Sprite есть поведение Sine, то можно задать условие, что у каждого IID будут разные периоды.
Sprite->Set Period и там указать Self.IID = 0 ? 0: Self.IID = 1 ? 1: Self.IID = 2 ? 2:3
Аватара пользователя

Игродел
Сообщений: 1075
Я тут с 04 авг 2016
Репутация 303 [ ? ]

Сообщение Перечисление в одном событии
» 15 июл 2021, 11:51

dwork писал(а):Sprite->Set Period и там указать Self.IID = 0 ? 0: Self.IID = 1 ? 1: Self.IID = 2 ? 2:3

А что такое Set Period? Что это? Зачем?
Аватара пользователя

Игродел
Сообщений: 576
Я тут с 02 авг 2014
Откуда: Москва
Лицензия: Peronal
Репутация 209 [ ? ]

Сообщение Перечисление в одном событии
» 15 июл 2021, 13:22

Kanske писал(а):А что такое Set Period? Что это? Зачем?

Это для примера
sine iid.png
Аватара пользователя

Игродел
Сообщений: 1075
Я тут с 04 авг 2016
Репутация 303 [ ? ]

Сообщение Перечисление в одном событии
» 15 июл 2021, 15:41

dwork писал(а):
Kanske писал(а):А что такое Set Period? Что это? Зачем?

Это для примера
sine iid.png


Так а работает это как?
Аватара пользователя

Игродел
Сообщений: 576
Я тут с 02 авг 2014
Откуда: Москва
Лицензия: Peronal
Репутация 209 [ ? ]

Сообщение Перечисление в одном событии
» 16 июл 2021, 07:17

Kanske писал(а):а работает это как?

Не пугай меня. Оно работает так, как я написал.
Аватара пользователя

Игродел
Сообщений: 1075
Я тут с 04 авг 2016
Репутация 303 [ ? ]

Сообщение Перечисление в одном событии
» 16 июл 2021, 14:26

dwork писал(а):Оно работает так, как я написал.

Да я блин прошу объяснить что это такое=))

Self.IID = 0 ? 0: Self.IID = 1 ? 1: Self.IID = 2 ? 2:3

Вот эта запись через ? и :, что за чудо синтаксис, как его можно использовать?=) Мне интересно, вдруг мне такое понадобится?=)
Аватара пользователя

Игродел
Сообщений: 576
Я тут с 02 авг 2014
Откуда: Москва
Лицензия: Peronal
Репутация 209 [ ? ]

Сообщение Перечисление в одном событии
» 16 июл 2021, 14:56

работает так, как описано тут https://developer.mozilla.org/en-US/doc ... l_Operator

ну вот ещё наглядно, уж как ещё объяснить - не знаю ))))
Снимок экрана 2021-07-16 145438.png

быть может тебя смутила вложенность условий в моём примере (if else if)

вот ещё, кста
viewtopic.php?f=7&t=174&start=6270#p70446
Аватара пользователя

Игродел
Сообщений: 1075
Я тут с 04 авг 2016
Репутация 303 [ ? ]

Сообщение Перечисление в одном событии
» 16 июл 2021, 15:05

dwork писал(а):ну вот ещё наглядно, уж как ещё объяснить - не знаю ))))

Спасибо, это выглядит исчерпывающе, осталось осмыслить=)
Аватара пользователя

Игродел
Сообщений: 576
Я тут с 02 авг 2014
Откуда: Москва
Лицензия: Peronal
Репутация 209 [ ? ]

Сообщение Перечисление в одном событии
» 16 июл 2021, 21:51

dwork, делай со скобками: безопаснее и понятнее. Я напишу с разными для понятливости.
Self.IID = 0 ? 0: (Self.IID = 1 ? 1: [Self.IID = 2 ? 2:3] )
Аватара пользователя

Модератор
Сообщений: 5145
Я тут с 18 сен 2015
Откуда: Екатеринбург
Двиг: С2/С3
Лицензия: Personal
Репутация 770 [ ? ]



Вернуться в Вопрос-Ответ по Construct 3

Сейчас эту тему просматривают

Зарегистрированные пользователи: нет зарегистрированных пользователей

Наверх