Вопрос - Ответ (Game Maker)
| |
Уайльд | Дата: Воскресенье, 14 Августа 2011, 18:09 | Сообщение # 2021 |
участник
Сейчас нет на сайте
| valeko, молодец.
Ребаят, тут меня замучил уже вопрос. Как сделать бонус? Подобрал, значит, герой, какой-то объект и начал бегать быстрей. Но через некоторое время действие бонуса кончается, и герой бегает с той скоростью, что была до того, как он подобрал объект.Добавлено (14.08.2011, 18:08) --------------------------------------------- Ребят* Добавлено (14.08.2011, 18:09) --------------------------------------------- С моб.вида сообщение не отредактировать.
|
|
| |
GameMix | Дата: Воскресенье, 14 Августа 2011, 19:16 | Сообщение # 2022 |
старожил
Сейчас нет на сайте
| Quote (Уайльд) Ребаят, тут меня замучил уже вопрос. Как сделать бонус? Подобрал, значит, герой, какой-то объект и начал бегать быстрей. Но через некоторое время действие бонуса кончается, и герой бегает с той скоростью, что была до того, как он подобрал объект. Допустим, стандартная скорость игрока - 4; В событии столкновения игрока с бонусом: Code speed = 8; alarm[0] = room_speed*кол-во_секунд действия бонуса; В событии столкновения бонуса с игроком: В событии Alarm0 (в объекте игрока):
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
Уайльд | Дата: Воскресенье, 14 Августа 2011, 19:43 | Сообщение # 2023 |
участник
Сейчас нет на сайте
| аТнОтХоАн, такое можно сделать с любым придуманным бонусом? Добавлено (14.08.2011, 19:43) --------------------------------------------- Хм... что-то скорость не изменилась... или мне кажется....
|
|
| |
GameMix | Дата: Воскресенье, 14 Августа 2011, 19:45 | Сообщение # 2024 |
старожил
Сейчас нет на сайте
| Quote (Уайльд) такое можно сделать с любым придуманным бонусом? Не думаю, что мой код универсален.
Quote (Уайльд) Хм... что-то скорость не изменилась... или мне кажется.... Если что, кидай получившееся в исходник и сюда его. Разберёмся.
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
valeko | Дата: Воскресенье, 14 Августа 2011, 20:33 | Сообщение # 2025 |
частый гость
Сейчас нет на сайте
| Я так понял, что вопрос не в том, как на какое-то время изменить переменную
Скорее всего его интересует универсальных механизм бонусов, о которых ты заранее не знаешь, что он в себе содержит.
Типа ситуации: взял ускорение, когда оно почти закончилось, взял еще одно ускорение - время ускорения продлилось, а потом взял еще и невидимость - ускорение закончилось, а невидимость все еще есть.
2D NoteWar
|
|
| |
фурилон | Дата: Воскресенье, 14 Августа 2011, 21:09 | Сообщение # 2026 |
У котэ свой движок. А у тебя?!
Сейчас нет на сайте
| В версии 8,1 как добавить скрипт в событие?
Если ты стоишь на краю пропасти и думаешь прыгать или нет, то лучше прыгнуть. (с) Джон Леннон
|
|
| |
Уайльд | Дата: Воскресенье, 14 Августа 2011, 21:49 | Сообщение # 2027 |
участник
Сейчас нет на сайте
| Quote Если что, кидай получившееся в исходник и сюда его. Разберёмся. аТнОтХоАн, вот исходник -
|
|
| |
Лер_да_Рим | Дата: Воскресенье, 14 Августа 2011, 22:29 | Сообщение # 2028 |
заслуженный участник
Сейчас нет на сайте
| Уайльд, совет тебе: Когда что-то не рабит, а что - непонятно, то выводи на экран все изменяемые в этой задаче переменные. Вывел speed - она обнуляется при остановке движения.
Предлагаю использовать дополнительную локальную переменную скорости. И юзать direction. И (это уже так, просто придраться) изменять image_xscale вместо смены двух по сути одинаковых спрайтов (спрайт и его отражение по горизонтали).
Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.
|
|
| |
Saitei | Дата: Воскресенье, 14 Августа 2011, 22:58 | Сообщение # 2029 |
старожил
Сейчас нет на сайте
| В сотый раз спрошу - как сделать так, чтобы музыка проигрывалась из определенной папки? Это я к тому, чтобы пользователь мог загрузить в игру свой список треков и играл как душе угодно
|
|
| |
valeko | Дата: Понедельник, 15 Августа 2011, 02:48 | Сообщение # 2030 |
частый гость
Сейчас нет на сайте
| Уайльд, аТнОтХоАн правильно про скорость написал: Quote (аТнОтХоАн) speed = 8; alarm[0] = room_speed*кол-во_секунд действия бонуса;
Но, чтобы сделать механизм универсальным, ты все равно должен продумать, какие бонусы у тебя будут.
Объект бонус можно сделать 1. Отличаться между собой бонусы будут индексом.
1. Скорость 2. Сила 3. Размер .. 9. Невидимость и т.д.
Рисуем все бонусы в 1 анимированый гиф и выводим спрайт бонуса так:
draw_sprite_ext(bonus,index,x,y,1,1,image_angle,c_white,1) // бонус - название спрайта, индекс - номер кадра в спрайте.
Предположим, что параметры этих бонусов заранее не известны, изменяются случайным образом. Тогда нужно их как-то получать из самого бонуса при столкновении.
В итоге код в событии Collision персонажа (а не бонуса!) будет следующим:
switch (other.index) // проверяем переменную индекс другого объекта, участвующего в столкновении { case 1: // скорость old_speed=speed; speed=other.new_speed; alarm[1]=other.time; break; // запоминаем текущую скорость, присваиваем нашему персонажу новую скорость
case 2: // сила old_power=power; power=other.new_power; alarm[2]=other.time; break; // запоминаем текущую силу, присваиваем нашему персонажу новую силу
..
case 9: // невидимость invisibility=true; alarm[9]=other.time; break; // включаем невидимость
}
А в соответствующих Alarm восстанавливаешь значения, бывшие до бонуса
Alarm[1]: speed=old_speed;
Правда, здесь я не продумал действие 2 одинаковых бонусов взятых подряд. Есть несколько вариантов - самый простой и логичной, завести еще флаги по типу: если такой бонус взят, то пока его не брать, а алярме флаг убирать при восстановлении параметра.
Надеюсь, понятно объяснил.
2D NoteWar
Сообщение отредактировал valeko - Понедельник, 15 Августа 2011, 02:48 |
|
| |
GameMix | Дата: Понедельник, 15 Августа 2011, 05:50 | Сообщение # 2031 |
старожил
Сейчас нет на сайте
| valeko, поправлю. Не index, а object_index - индекс объекта. Добавлено (15.08.2011, 05:50) ---------------------------------------------
Quote (valeko) Но, чтобы сделать механизм универсальным, ты все равно должен продумать, какие бонусы у тебя будут. Кому это адресовано?
Steel Standoff - 2D аркада. Мои статьи
|
|
| |
valeko | Дата: Понедельник, 15 Августа 2011, 09:59 | Сообщение # 2032 |
частый гость
Сейчас нет на сайте
| Quote (аТнОтХоАн) Не index, а object_index - индекс объекта.
Ну или bonus_index - это же всего лишь переменная, которая бонусу при создании присваивается.
А адресовано Уайльду
2D NoteWar
|
|
| |
Лер_да_Рим | Дата: Понедельник, 15 Августа 2011, 11:57 | Сообщение # 2033 |
заслуженный участник
Сейчас нет на сайте
| valeko, вообще-то это женщина.
Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.
|
|
| |
Уайльд | Дата: Понедельник, 15 Августа 2011, 13:26 | Сообщение # 2034 |
участник
Сейчас нет на сайте
| Ничего не поняла. Я вообще пробовала через переменные. Типа cull, В событии создания объекта, равно 0. А при столкновений с o_bonus, cull равно 4(ну, или другое число). В событие шага если cull больше 0, то скорость равна 8 и каждый шаг отимается по одному cull. А когда переменная снова меньше нуля, то скорость равна 4.
Все это было прописано соответствующими ф-циями, кодом...
|
|
| |
Saitei | Дата: Понедельник, 15 Августа 2011, 13:40 | Сообщение # 2035 |
старожил
Сейчас нет на сайте
| Quote (Arz) В сотый раз спрошу - как сделать так, чтобы музыка проигрывалась из определенной папки? Это я к тому, чтобы пользователь мог загрузить в игру свой список треков и играл как душе угодно smile вопрос актуален
|
|
| |
valeko | Дата: Понедельник, 15 Августа 2011, 14:37 | Сообщение # 2036 |
частый гость
Сейчас нет на сайте
| Quote (Лер_да_Рим) valeko, вообще-то это женщина.
Теперь уже вижу.
2D NoteWar
|
|
| |
фурилон | Дата: Понедельник, 15 Августа 2011, 14:45 | Сообщение # 2037 |
У котэ свой движок. А у тебя?!
Сейчас нет на сайте
| Как убрать в ГМ надпись во время самой игры- сделано с ГМ ( на англ ) и при загрузке игры так же в углу убрать надпись? Оплатить? Куда сколько? Подскажите плиз)
Если ты стоишь на краю пропасти и думаешь прыгать или нет, то лучше прыгнуть. (с) Джон Леннон
|
|
| |
Лер_да_Рим | Дата: Понедельник, 15 Августа 2011, 14:59 | Сообщение # 2038 |
заслуженный участник
Сейчас нет на сайте
| фурилон, крякни) ну или если оплатить - $40.
Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.
|
|
| |
Уайльд | Дата: Понедельник, 15 Августа 2011, 15:10 | Сообщение # 2039 |
участник
Сейчас нет на сайте
| фурилон, зачем платить-то? Это крайности... А какой ГМ? 8.0 или 8.1? Добавлено (15.08.2011, 15:06) ---------------------------------------------
Quote (Лер_да_Рим) фурилон, крякни) Вот-вот. Учись! Добавлено (15.08.2011, 15:10) --------------------------------------------- Arz, Quote (Arz) В сотый раз спрошу - как сделать так, чтобы музыка проигрывалась из определенной папки? Это я к тому, чтобы пользователь мог загрузить в игру свой список треков и играл как душе угодно smile
вопрос актуален
ждать LunarPixel!
|
|
| |
Saitei | Дата: Понедельник, 15 Августа 2011, 15:13 | Сообщение # 2040 |
старожил
Сейчас нет на сайте
| Quote (Уайльд) ждать LunarPixel! Подожду-с
|
|
| |
|