Суббота, 16 Ноября 2024, 05:35

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос - Ответ (Game Maker)
CrazyDoctorДата: Среда, 19 Июня 2013, 20:49 | Сообщение # 3961
был не раз
Сейчас нет на сайте
Нужно два скрипта:
1) На бесконечность комнаты. 2)(если такой есть) Чтобы Главный Герой направлял свой взор и ось полета пули на курсор мыши.
zaicev9797Дата: Четверг, 20 Июня 2013, 07:05 | Сообщение # 3962
AbRaKaDaBrA
Сейчас нет на сайте
как сделать чтобы скорость выполнения действий не зависела от фпс
(может есть чтонибуть типа как в юне (Time.delTime))
просто очень важен этот вопрос
Цитата (CrazyDoctor)
2)(если такой есть) Чтобы Главный Герой направлял свой взор и ось полета пули на курсор мыши.

direction=point_direction(x,y,mouse_x,mouse_y)помоему


проект Mysterious Space. The losted moment
CrazyDoctorДата: Четверг, 20 Июня 2013, 09:51 | Сообщение # 3963
был не раз
Сейчас нет на сайте
zaicev9797, не, это не то. Объект постепенно летит за мышкой вроде...
Еще скорость добавить
P.S. Для пулей подойдет. Но нужен поворот в торса в сторону указателя. Или рук с головой. Т.е. вращение вокруг своей оси

Добавлено (20.06.2013, 09:50)
---------------------------------------------
Ребята, разобрался:
image_angle = point_direction(x,y,mouse_x,mouse_y); - направление спрайта.
А полет пули можно осуществить так:
направление пули равно направлению спрайта:
x1 = object0.x + lengthdir_x(45, image_angle + 15);
y1 = object0.y + lengthdir_y(45, image_angle + 15);
(instance_create(x1, y1, object1)).direction=image_angle;

Добавлено (20.06.2013, 09:51)
---------------------------------------------
И все это в скрипте для "источника" пуль.

Сообщение отредактировал CrazyDoctor - Четверг, 20 Июня 2013, 09:33
zaicev9797Дата: Четверг, 20 Июня 2013, 13:01 | Сообщение # 3964
AbRaKaDaBrA
Сейчас нет на сайте
как сделать чтобы скорость выполнения действий не зависела от фпс
(может есть чтонибуть типа как в юне (Time.delTime))
просто очень важен этот вопрос


проект Mysterious Space. The losted moment
KrososДата: Четверг, 20 Июня 2013, 18:18 | Сообщение # 3965
постоянный участник
Сейчас нет на сайте
Путаюсь с массивом(Не до конца понимаю)

for(i=0; i<=1; i+=1){ //(Пока 2 объекта)
global.U[i]=1
}
Объект1:

if global.U[0]=1{
}
Объект2:

if global.U[1]=1{}

Как сделать переход к следующему U после получения некой команды от игрока или таймера?
(Исправлено)





Мой проект


Сообщение отредактировал Krosos - Четверг, 20 Июня 2013, 19:23
GameMixДата: Четверг, 20 Июня 2013, 19:13 | Сообщение # 3966
старожил
Сейчас нет на сайте
Krosos, видимо, проблема в том, что значение i доходит только до 1. Исправить проблему можно либо так:
Код
global.U[i+1] = 1
Либо так:
Код
for (i=1; i<=2; i+=1)

Если я не так понял твою задумку, то подробнее опиши идею.


Steel Standoff - 2D аркада.
Мои статьи


Сообщение отредактировал GameMix - Четверг, 20 Июня 2013, 19:13
KrososДата: Четверг, 20 Июня 2013, 19:20 | Сообщение # 3967
постоянный участник
Сейчас нет на сайте
GameMix,
А как же объект 0 или он не учитывается?
Я пока не очень понимаю массивы , поэтому написал примерный скрипт , как он должен выглядеть
Не хватает только ожидания между переходами .
Массив ,как я понял ,перебирает все сразу по очереди без ожидания.
(Опс, выше, немного не так написал)





Мой проект


Сообщение отредактировал Krosos - Четверг, 20 Июня 2013, 19:23
GameMixДата: Четверг, 20 Июня 2013, 19:27 | Сообщение # 3968
старожил
Сейчас нет на сайте
Цитата (Krosos)
Массив ,как я понял ,перебирает все сразу по очереди без ожидания.

Да.
В объекте, в котором ты пишешь этот код:
Код
for(i=0; i<=1; i+=1){ //(Пока 2 объекта)  
global.U[i]=1  
}

...в событии создания добавь переменную и запусти таймер на нужное время, например:
Код
n = 1;
alarm[0] = room_speed * 2; // таймер на 2 секунды

В этом же объекте добавь событие Alarm 0:
Код
global.U[n] = 1;
n += 1; // переход к следующему U
alarm[0] = room_speed * 2;


По тому же принципу можно изменять U при выполнении команды/события. Например, событие нажатия клавиши Shift:
Код
global.U[n] = 1;
n += 1


Steel Standoff - 2D аркада.
Мои статьи
GameMixДата: Четверг, 20 Июня 2013, 19:30 | Сообщение # 3969
старожил
Сейчас нет на сайте
Если исправил, то и n в начале будет равна 0:
Код
n = 0;
alarm[0] = room_speed * 2


Steel Standoff - 2D аркада.
Мои статьи
KrososДата: Четверг, 20 Июня 2013, 20:19 | Сообщение # 3970
постоянный участник
Сейчас нет на сайте
GameMix,
То есть for не нужен.
Спасибо.=)





Мой проект
MasterSamboДата: Пятница, 21 Июня 2013, 11:19 | Сообщение # 3971
заслуженный участник
Сейчас нет на сайте
Как сделать так чтобы:
Если ты не прошёл первый эпизод, то во второй играть не получиться (будет сообщение: пройдите предыдущий эпизод), а если я прошёл первый, то могу играть во второй, потом прохожу его и играю в третий и т.д)?
zaicev9797Дата: Пятница, 21 Июня 2013, 12:35 | Сообщение # 3972
AbRaKaDaBrA
Сейчас нет на сайте
для этого нужно создать обьект и сделать его постоянным.или же если есть любой другой постоянный обьект. и добавить в криэйт переменную отвечающую за верность пройдености уровня. при подходе к двери (или чего там у тебя) проверять переменную на равность этой переменной опр. числу условно означающего у тебя пройденность уровня. ну а соответственно при прохождении (допустим задания какогото на уровне которое должно открыать доступ к следующему ) присваивать этой переменной то самое значение которое у тебя пройденость означает.

проект Mysterious Space. The losted moment
CrazyDoctorДата: Пятница, 21 Июня 2013, 13:05 | Сообщение # 3973
был не раз
Сейчас нет на сайте
Вопрос: как сделать эффект того, что ГГ стоит по середине плиты? Ну чтоб не скраю, а примерно по середине(отмечено красным)
GameMixДата: Суббота, 22 Июня 2013, 09:19 | Сообщение # 3974
старожил
Сейчас нет на сайте
CrazyDoctor, у объекта блока обрезать маску до нужного уровня по вертикали.


Steel Standoff - 2D аркада.
Мои статьи


Сообщение отредактировал GameMix - Суббота, 22 Июня 2013, 09:59
CrazyDoctorДата: Суббота, 22 Июня 2013, 11:20 | Сообщение # 3975
был не раз
Сейчас нет на сайте
GameMix, спасибо!
AnthemДата: Суббота, 22 Июня 2013, 15:50 | Сообщение # 3976
Д'Артаньян
Сейчас нет на сайте
Господа знатоки, подскажите, как реализовать автоматическое движение автомобилей по дороге в топдаун игре. Пути, как мне кажется, не подойдут, т.к. планируется, что дороги могут быть изменены. Хотя могу и ошибаться. Т.е. например, автомобиль выезжает из пункта А, необходимо двигаться в направлении пункта В по клеткам дороги, при этом корректно вращая спрайт

Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры
BrightSpotДата: Суббота, 22 Июня 2013, 16:01 | Сообщение # 3977
заслуженный участник
Сейчас нет на сайте
Anthem, можешь попробовать на перекрестках поставить невидимые блоки при попадании автомобиля в их зону поворачивать его в нужном направлении, а так просто сделать движение в сторону взгляда. Но это будет очень убого и никакоо натурализма... можешь попробовать написать скрипт отлова точек на дороге и что бы автомобиль двигался в зависимости от них + нужно учитывать другие автомобили...в общем если будет время попробую пример накатать...


Более мощный компьютер глючит быстрее и точнее.
KrososДата: Суббота, 22 Июня 2013, 16:05 | Сообщение # 3978
постоянный участник
Сейчас нет на сайте
mp_grid_add_instances(global.cmbt_mpgrid,id,1) - создал препятствие на месте объекта у которого находится эта запись , а как его убрать используя скрипт?(Сделать врагов препятствиями пока они не ходят , а потом сделать их активными)




Мой проект


Сообщение отредактировал Krosos - Суббота, 22 Июня 2013, 16:08
AnthemДата: Суббота, 22 Июня 2013, 16:13 | Сообщение # 3979
Д'Артаньян
Сейчас нет на сайте
BrightSpot, про блоки я думал, но по-моему их придется большое кол-во вариантов делать. Потом, как определять нужное направление? Движение в сторону взгляда - кажется не тот случай, т.к. вид сверху или изометрия. Либо я не так понял. За пример конечно был бы очень благодарен.

Krosos, по-моему, лучше сделать твердый объект со спрайтом врага и унижтожать его, "рождая" самого врага


Текстовый контент для вашей игры (бесплатно)
Сценарист, геймдизайнер для Вашей игры


Сообщение отредактировал Anthem - Суббота, 22 Июня 2013, 16:19
KrososДата: Суббота, 22 Июня 2013, 17:10 | Сообщение # 3980
постоянный участник
Сейчас нет на сайте
Anthem, тогда он утратит свои значения
Враг находится на сетке , а сетка там еще и с ячейками ,и когда враг стоит на сетке он занимает ячейку , ячейка не должна загораться если на ней стоит враг , вот если он содержит такой код mp_grid_add_instances(global.cmbt_mpgrid,id,1) ячейка не горит , но тогда враг не может сделать никакого движения так , как он является препятствием для самого себя.
Вот как теперь убрать препятствие, когда мне это будет нужно?

Добавлено (22.06.2013, 17:10)
---------------------------------------------
Наверное опять нифига не понятно , вот картинка!
После нажатия клавиши Z синий объект становится препятствием для красного ,при помощи этой строки:
mp_grid_add_instances(global.cmbt_mpgrid,id,1)
Вот как теперь сделать чтобы он перестал быть препятствием?
.bmp_File.BMP





Мой проект


Сообщение отредактировал Krosos - Суббота, 22 Июня 2013, 17:13
Поиск:

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