Перейти к содержимому
Джанкер

Помогите с Гейм Мейкером

Рекомендуемые сообщения

Слушайте, а как сделать замену объекта? Например Соник сталкивается с объектом 7 эмеральдов и становится Супер Соник с другими способностями. Я новичок, объясните по пальцам ^^'

Поделиться сообщением


Ссылка на сообщение

Если объект "7 изумрудов" выходит из одного (т.е. все изумруды принадлежат одному спрайту и объекту), то в событие "столкновение/collision" (в зависимости от языка GameMaker соответственно) с этими изумрудами, Сонику ставим команду "Change the instance" (располагается в панельке main1, второй значок сверху, под лампочкой). Из неё понятно, что команда вызывает смену инстанции данного объекта на ту, которую мы указываем непосредственно в самой команде (в данном случае - Соник меняется на Супер-Соника). После этого, суперСонику в событие Create можно поставить команду "Destroy the instance" - на изумруды (он же их как-бы взял после прикосновения, верно? tl:().

Вот, собственно и всё - для первых шагов, думаю, будет понятно и полезно t^_^

Изменено пользователем ]lNEOl[

Поделиться сообщением


Ссылка на сообщение

Огромное спасибо tl:( А то я замучилась уже t^_^

Поделиться сообщением


Ссылка на сообщение

Сейчас кое-что убило меня. Делаю паузу в игре, надо остановить все анимации, сохранив информацию об их скорости в дополнительные переменные. (хотя в основном анимация проигрывается "вручную", с image_speed == 0, но всё же не везде).

Пишу:

p = 0; //это счётчик индекса текущего объекта
while (p < 999)  //макс. индекс активного объекта
{
with (p) //со всеми активными экземплярами объекта p
{
  image_speed_temp = image_speed;
  image_speed = 0;
}
p += 1;
}

Так этот чудесный ГМ сначала присвоил image_speed = 0, а затем image_speed_temp = image_speed.

Пришлось разбивать эти действия на 2 цикла.

Поделиться сообщением


Ссылка на сообщение
Сейчас кое-что убило меня. Делаю паузу в игре, надо остановить все анимации, сохранив информацию об их скорости в дополнительные переменные. (хотя в основном анимация проигрывается "вручную", с image_speed == 0, но всё же не везде).

Пишу:

p = 0; //это счётчик индекса текущего объекта
while (p < 999)  //макс. индекс активного объекта
{
with (p) //со всеми активными экземплярами объекта p
{
  image_speed_temp = image_speed;
  image_speed = 0;
}
p += 1;
}

Так этот чудесный ГМ сначала присвоил image_speed = 0, а затем image_speed_temp = image_speed.

Пришлось разбивать эти действия на 2 цикла.

Используй массив для переменной "p". У тебя получилось что событие переключения не сработало,а событие с присвоением сработало сначало как у тебя написано в коде,а потом как ты сам в посте написал.

 

Сделай так:

 

while (p[n])

{

image_speed_temp = image_speed;

image_speed = 0;

}

n+=1

 

Паузу можно сделать и другим способом: деактивировать все объекты,заменив их копиями ,которые повторяют лишь их кадр анимации.

Изменено пользователем Jackrost

Поделиться сообщением


Ссылка на сообщение

Подскажите пожалуйста, как сделать анимированый фон?

Изменено пользователем Frogger

Поделиться сообщением


Ссылка на сообщение

Анимированый это всмысле чтобы фон двигался или на фоне была анимация(лампочки мигали и т.д.)?

Поделиться сообщением


Ссылка на сообщение

Чтобы на фоне была анимация, т.е. сам фон менялся вне зависимости от чего-либо.

Поделиться сообщением


Ссылка на сообщение
Чтобы на фоне была анимация, т.е. сам фон менялся вне зависимости от чего-либо.

Сделать надо боъектом(фон не имеет анимации).Надо эти объекты также деактивировать за экраном(что бы не тормозило),а также нужен объект который будет указывать какой кадр анимации должен быть у объекта на фоне(если объекты сноваа активировать то их кадры анимации будут разные).

Поделиться сообщением


Ссылка на сообщение

А можно просто использовать draw_sprite... или еще проще - блок из нескольких if конструкций, при проверке которых будет показываться тот или иной кадр анимации.

Поделиться сообщением


Ссылка на сообщение

Делаю игру-платформер,и у меня при начале игры объект падает вниз сквозь пол.Я что-то пробовал делать,чтобы он не проваливался,но тогда объект перестаёт ходить влево и вправо.Как сделать так,чтобы он не проваливался?И ещё,как сделать прыжок?

Поделиться сообщением


Ссылка на сообщение

Включить мозг и просмотреть, наконец, всю тему. Там были не только ответы на подобные вопросы, но еще и исходники с примерами.

Поделиться сообщением


Ссылка на сообщение

fde1ba105c28t.jpg

Ребят, в чём здесь проблема? Невероятно растянулось изображение Соника и комнаты.

Объясню проблему:

Я хотел сделать так, чтобы видима была только та часть с Соником, и всегда, тоесть где бы он нибыл он должен быть центром, а не комната центром Соника.

Я нуб, знаю( А читать все 41 страницу читал, вроде подобного не нашёл.

Поделиться сообщением


Ссылка на сообщение

Размер вида(камеры) и Порта этого вида должны совпдать.

view_object - для слежения за объектом

view_xview и view_yview - координаты камеры

Поделиться сообщением


Ссылка на сообщение
Размер вида(камеры) и Порта этого вида должны совпдать.

view_object - для слежения за объектом

view_xview и view_yview - координаты камеры

Громадное человеческое спасибо!)

 

Добавлено:

Теперь такая хрень =___=:

df73c27d3831t.jpg

Изменено пользователем Саске

Поделиться сообщением


Ссылка на сообщение
Гость Doctor Eggman

Помогите плиз! Я сделал прыжок, и когда ты приземляешься на землю, то анимация прыжка остаётся до тех пор, пока не отпустишь кнопку. Что делать?

Поделиться сообщением


Ссылка на сообщение

попробуй написать событие: при столкновении объекта с землей сменить спрайт Соника с прыжка на обычный

Поделиться сообщением


Ссылка на сообщение
Гость Doctor Eggman

пробовал: не получается

Поделиться сообщением


Ссылка на сообщение

А какое у тебя событие для кнопки прыжка? (есть: Нажать, Отпустить и просто Кнопка) попробуй поменяй может поможет)

Изменено пользователем Reven The Hedgehog

Поделиться сообщением


Ссылка на сообщение

В событии нажатия кнопки сделай проверку на наличие твёрдых объектов под объектом игрока. Если их нет - ставь спрайт падения, если есть - спрайт обычный.

Поделиться сообщением


Ссылка на сообщение
Как проверить, нажата ли клавиша влево/вправо?

KEY_LEFT=keyboard_check_pressed(vk_left);

if KEY_LEFT (Дальше комманды)

Поделиться сообщением


Ссылка на сообщение

спасибо. +Нужен тутор, в котором реализован бег по наклонной поверхности. на sfghq ссылки просьба не давать.

Изменено пользователем 111asakura111

Поделиться сообщением


Ссылка на сообщение

Это было в оффициальном туторе от Марка, но все равно запостю здесь.

 

Нужно в Collision кинуть цикл с проверкой свободности верхней координаты. Это должно выглядеть примерно так:

 

for (i=1;i<8;i+=1) {

if place_free(x,y-i) {x+=hsp; y-=i};

}

 

Этот код проверяет, свободна ли координата вплоть до 8 пикселей в высоту. Если высота препятствия меньше 8, то персонаж поднимется, нет - останется. Ах да, он проверяет только в высоту, вниз делайте сами по образцу.

Поделиться сообщением


Ссылка на сообщение

Помогите теперь с мёртвіми петлями разобраться. Плиз.

Изменено пользователем 111asakura111

Поделиться сообщением


Ссылка на сообщение

Тебе к движку Дамизеана. Ну или к учебнику высшей математики за первый курс, графа "Поворот осей координат". А потом вдобавок к мануалу по ГМ и все равно к движку Дамизеана.

Поделиться сообщением


Ссылка на сообщение
Тебе к движку Дамизеана. Ну или к учебнику высшей математики за первый курс, графа "Поворот осей координат". А потом вдобавок к мануалу по ГМ и все равно к движку Дамизеана.

t^_^ Я даже не подозревал что все ТАК сложно, хорошо что забросил делать свой движек.

*Молусь богу во славу и здоровье Дамизеана: "даруй ему долгую жизнь, счастье и славу, во веке веков"*

Аминь. s=)

Поделиться сообщением


Ссылка на сообщение

И на том спасибо. Теперь вот такая загвоздка. Нужно при определённом значении горизонтальной скорости сделать для персонажа небольшой блюр. Подскажите, плиз, как єто реализовать?

Поделиться сообщением


Ссылка на сообщение

Для блюра

Step:

if *твоя скорость*> *определённой скорости* and e=false

{

alarm[0]=2 (сам определишь задержку)

e=true

}

Alarm 0 :

if e=true

{

*создаёт блюр*

e=false

}

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×