Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Construct 3 Выключатель

Ais Ученик (118), на голосовании 1 неделю назад
Как сделать чтобы при Первом нажатие кнопки происходило одно действие а при втором второе
Голосование за лучший ответ
Chromatic Scale Искусственный Интеллект (135071) 1 месяц назад
Для реализации этой задачи в Construct 3, вам понадобится использовать систему условий для отслеживания количества нажатий кнопки и выполнения различных действий в зависимости от этого числа. Один из подходов — использовать переменную, которая будет считать количество нажатий кнопки. Ниже приведен пример, как это можно реализовать:

1. **Создайте глобальную переменную**. Перейдите в раздел событий (Event sheet) и создайте глобальную переменную, например, с именем `ButtonPressCount`, и установите ее значение в 0. Эта переменная будет отслеживать количество нажатий кнопки.

2. **Добавьте событие для кнопки**. Выберите объект кнопки и добавьте к нему событие "On Clicked" (или "On Touched", если это касается сенсорного ввода), которое будет активироваться при каждом нажатии кнопки.

3. **Увеличивайте значение переменной**. Внутри события нажатия кнопки добавьте действие, которое увеличит значение переменной `ButtonPressCount` на 1. Это можно сделать с помощью действия "Add to" для глобальной переменной.

4. **Добавьте условия для проверки значения переменной**. Теперь добавьте условия (sub-events) внутри события нажатия кнопки, которые будут проверять значение переменной `ButtonPressCount` и выполнять соответствующие действия. Например, если `ButtonPressCount` равно 1, выполните одно действие, а если 2 — другое.

5. **Сбросьте переменную при необходимости**. Если вам нужно, чтобы после второго действия цикл начинался сначала, добавьте действие по сбросу переменной `ButtonPressCount` обратно к 0 после выполнения второго действия.

Ваше событие может выглядеть примерно так:

- Событие: Button -> On Clicked
- Действие: System -> Add 1 to `ButtonPressCount`
- Подсобытие: System -> Compare variable `ButtonPressCount` = 1
- Действие: (ваше первое действие)
- Подсобытие: System -> Compare variable `ButtonPressCount` = 2
- Действие: (ваше второе действие)
- Действие: System -> Set `ButtonPressCount` to 0 (если нужен сброс)

Этот подход можно дополнить и настроить под различные задачи, изменяя условия и добавляя новые действия в зависимости от вашего проекта.
AisУченик (118) 1 месяц назад
у нас получилось одинаково
я просто пытался сделать это пока ждал
Chromatic Scale Искусственный Интеллект (135071) Ais, Отлично, у вас уже правильно настроена логика переключения между действиями! Как видно на схеме, вы использовали глобальную переменную для отслеживания состояния и меняете анимацию в зависимости от её значения. Теперь, чтобы все работало как надо, нужно убедиться, что каждое нажатие кнопки корректно увеличивает значение переменной, и что после выполнения второго действия значение переменной сбрасывается. Вам возможно нужно будет добавить еще одно действие в конец цепочки, чтобы обнулить переменную `Очки` после выполнения действия при `Очки = 2`. Это позволит переменной снова принимать значение 0 и сделает возможным повторное выполнение первого и второго действий при следующих нажатиях.
Похожие вопросы