Суббота, 23 Ноября 2024, 03:24

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Помогите разобраться с циклом for
AHTOXA82Дата: Вторник, 19 Февраля 2013, 21:38 | Сообщение # 1
частый гость
Сейчас нет на сайте
Преветствую.
Помогите разобраться с таким вот примером.
в событии клавиатуры пишу код:
for (n1=1; n1<=instance_number(object0); n1+=1)
{
if (instance_find(object0,n1-1)).y < 240
{
(instance_find(object0,n1-1)).y += 20
}
}
По идее он должен работать так: 1) присваиваем n1=1; 2) проверяем, меньше ли n1 общего количества экземпляров объекта object0; 3) выполняем тело цикла, а именно: в случае, если координата y экземпляра с номером n1-1 меньше 240, мы опускаем этот экземляр по вертикали на 20 пикселей, а если координата больше или равна 240, то ничего не делаем; 4) потом прибавляем к n1 единицу, проверяем неравенство и все повторяем.
Как я думаю, результат должен быть таким: все экземпляры выше уровня 240 должны сдвинуться на 20 пикселей вниз, а все экземляры ниже, должны остаться на месте.
По факту происходит не так. Все экземляры выше уровня 240 опускаются до тех пор, пока их координата по вертикали не будет больше 240 ( т.е. пока не перестанет выполняться условие (instance_find(object0,n1-1)).y < 240)
Почему так происходит?

Залил иходник сюда
http://zalil.ru/34276708


Сообщение отредактировал AHTOXA82 - Вторник, 19 Февраля 2013, 21:54
Xeno17Дата: Среда, 20 Февраля 2013, 15:06 | Сообщение # 2
почетный гость
Сейчас нет на сайте
AHTOXA82, Я решил вашу проблему =) посидел подумал, но решил.

http://zalil.ru/34278583

Ваша ошибка была в том что вы событие привязали к бомбам и каждый раз когда нажимали space события срабатывало столько раз - сколько бомб. В исходнике я просто сделал объект control который и держит код и событие space.


Счастья и удачи всем !
aka Dark_zarich
Война лицо
Третий акк уже =( остальные взломали =(
AHTOXA82Дата: Среда, 20 Февраля 2013, 18:22 | Сообщение # 3
частый гость
Сейчас нет на сайте
Да, Xeno17, действительно. Большое спасибо. Я не слишком разбираюсь в гм, так что для меня это было новостью.
Странно, я думал что событие выполняется для объекта, в котором это событие совершается, а оказывается для экземпляров. Интересно, это правило выполняется для всех событий? Т.е. не только для события клавиатуры, но и события шага например тоже?


Сообщение отредактировал AHTOXA82 - Среда, 20 Февраля 2013, 18:31
Xeno17Дата: Среда, 20 Февраля 2013, 18:32 | Сообщение # 4
почетный гость
Сейчас нет на сайте
AHTOXA82, вроде как да. Если вы мячику припишите ходьбу в степ то будут ходить все его экземпляры.

Счастья и удачи всем !
aka Dark_zarich
Война лицо
Третий акк уже =( остальные взломали =(
  • Страница 1 из 1
  • 1
Поиск:

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