Среда, 20 Ноября 2024, 10:20

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос - Ответ (Game Maker)
ressДата: Среда, 10 Октября 2012, 16:53 | Сообщение # 3561
постоянный участник
Сейчас нет на сайте
Quote (ress)
Доброго времени суток! Подскажите, пожалуйста, как можно реализовать плавный прыжок в игре? (Например, как в Super Meat Boy)

Плиз, ответьте поскорее! А то меня с минуты на минуту забанят по собственному желанию. wink


Я очень недоволен...
Raven84Дата: Среда, 10 Октября 2012, 16:58 | Сообщение # 3562
старожил
Сейчас нет на сайте
ress, Ну видимо при нажатом пробеле (к примеру) отнимать vspeed-=0.2 ,пока не станет vspeed<=-10. (числа я все для примера взял,их нужно подгонять)

Super Knight Story (в разработке)
Idolzzz - игра доступна в Steam и Play Market
Oliver's Adventures in the Fairyland


Сообщение отредактировал Raven84 - Среда, 10 Октября 2012, 17:06
ressДата: Среда, 10 Октября 2012, 17:09 | Сообщение # 3563
постоянный участник
Сейчас нет на сайте
Raven84, спасибо большое. Как же я сам не догадался-то? biggrin

Я очень недоволен...
jayreckДата: Среда, 10 Октября 2012, 17:10 | Сообщение # 3564
участник
Сейчас нет на сайте
Code

if menu_opt = 1 && joystick_pov(1)=180 then menu_opt = 2    
if menu_opt = 0 && joystick_pov(1)=180 then menu_opt = 1


вот если в данном коде заменить "joystick_pov(1)=180" на "keyboard_check_pressed(vk_down)" то при зажиме кнопки vk_down постоянное переключение до макс. значения не происходит, а на джойстике происходит.
собственно вопрос как сделать чтобы на джойстике переключалось также как и на клавиатуре.

P.S полдня ковыряюсь никак не допру


g-null-dc
Ippolit - тамагоч
немного моего пиксель арта


Сообщение отредактировал jayreck - Среда, 10 Октября 2012, 17:16
Raven84Дата: Среда, 10 Октября 2012, 17:25 | Сообщение # 3565
старожил
Сейчас нет на сайте
ress, Там есть небольшие тонкости.Это надо с кодом поработать...Я вообще раньше делал реализацию такого прыжка,но в исходниках лом копаться.Думаю сам сможешь реализовать.Если,что кидай исходник в ЛС,попытаюсь доработать. smile

Добавлено (10.10.2012, 17:25)
---------------------------------------------
jayreck, Вообще с джойстиком никогда не работал.Но попробуй ввести переменную jdown (к примеру):

Code
if menu_opt = 1 && joystick_pov(1)=180 && jdown=0 then menu_opt = 2 jdown=1
if joystick_pov(1)=-1 then jdown=0

Добавлено (10.10.2012, 17:25)
---------------------------------------------
Может поможет. smile


Super Knight Story (в разработке)
Idolzzz - игра доступна в Steam и Play Market
Oliver's Adventures in the Fairyland
ressДата: Среда, 10 Октября 2012, 18:28 | Сообщение # 3566
постоянный участник
Сейчас нет на сайте
Quote (Raven84)
ress, Там есть небольшие тонкости.Это надо с кодом поработать...Я вообще раньше делал реализацию такого прыжка,но в исходниках лом копаться.Думаю сам сможешь реализовать.Если,что кидай исходник в ЛС,попытаюсь доработать.

Raven84, думаю разберусь. Еще раз спасибо happy


Я очень недоволен...
jayreckДата: Четверг, 11 Октября 2012, 20:34 | Сообщение # 3567
участник
Сейчас нет на сайте
а как исправить залипание к твёрдым объектам сбоку в водухе пока не отпустишь кнопку?
------------------------------------------------------------------------------------
Эврика!! заменил
Code
if keyboard_check(vk_right) { place_free(x+5/2,y){x+=5/2} sprite_index=walk_right image_speed=0.5}

на
Code
if keyboard_check(vk_right){ if place_free(x+5/2,y) {x+=5/2 sprite_index=walk_right image_speed=0.5 } else move_contact_solid(0,5/2) }

и перестало залипать


g-null-dc
Ippolit - тамагоч
немного моего пиксель арта


Сообщение отредактировал jayreck - Пятница, 12 Октября 2012, 03:06
UnZipДата: Четверг, 11 Октября 2012, 23:00 | Сообщение # 3568
почетный гость
Сейчас нет на сайте
Такой вот вопросик: можно ли значение локальной переменной объекта 1 ,передать объекту 2?
То есть ,что-то вроде глобальной переменной ,но только для 2х объектов.


GameMixДата: Пятница, 12 Октября 2012, 05:25 | Сообщение # 3569
старожил
Сейчас нет на сайте
UnZip, можно:
В объекте2:
Code
a = объект1.b

a - локальная переменная объекта2;
b - локальная переменная объекта1;
object1.b - обращение к локальной переменной объекта1.


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


Сообщение отредактировал GameMix - Пятница, 12 Октября 2012, 10:40
UnZipДата: Суббота, 13 Октября 2012, 09:08 | Сообщение # 3570
почетный гость
Сейчас нет на сайте
Quote (GameMix)
UnZip, можно:
В объекте2:
Code
a = объект1.b

a - локальная переменная объекта2;
b - локальная переменная объекта1;
object1.b - обращение к локальной переменной объекта1.

Благодарю


jayreckДата: Суббота, 13 Октября 2012, 21:11 | Сообщение # 3571
участник
Сейчас нет на сайте
хочу наносить мобу урон, но не через событие моба "collision" пробовал так
Code
if collision_point(mob.x,mob.y,mob,0,0){mob.hp_mob-=3}
.
но в данном случае hp_mob-=3 действует на все объекты находящиеся в комнате, а мне надо чтобы это(hp_mob-=3) применялось так же как и в событие "collision" моба.как это сделать?

P.S. не использую событие "collision" моба т.к. нет объекта столкновения; принцип столкновения - рисуем рандомные линии с определённым радиусом высоты от игрока на расстояние до 90 пикселей и потом смотрим есть ли столкновение с мобом этими линиями


g-null-dc
Ippolit - тамагоч
немного моего пиксель арта


Сообщение отредактировал jayreck - Суббота, 13 Октября 2012, 21:12
Raven84Дата: Воскресенье, 14 Октября 2012, 03:53 | Сообщение # 3572
старожил
Сейчас нет на сайте
jayreck, Ну тебе нужно выяснить id объекта с которым происходит столкновение,и отнимать hp только у единственного id.

Добавлено (14.10.2012, 03:53)
---------------------------------------------
Используй

Code

m=instance_position(x,y,mob)
m.hp_mob-=3

Вот только где найти x и y (в которых проводить проверку) я тебе не подскажу,т.к. не совсем понял если честно все,что ты написал. biggrin


Super Knight Story (в разработке)
Idolzzz - игра доступна в Steam и Play Market
Oliver's Adventures in the Fairyland
jayreckДата: Воскресенье, 14 Октября 2012, 12:53 | Сообщение # 3573
участник
Сейчас нет на сайте
Quote (Raven84)
jayreck, Ну тебе нужно выяснить id объекта с которым происходит столкновение,и отнимать hp только у единственного id.Добавлено (14.10.2012, 03:53)---------------------------------------------Используй Code m=instance_position(x,y,mob) m.hp_mob-=3 Вот только где найти x и y (в которых проводить проверку) я тебе не подскажу,т.к. не совсем понял если честно все,что ты написал.



я тут подумал мб при рисовании линий на их месте создавать невидимый объект и проверять уже с ним столкновение через событие у моба. или так лучше не стоит?


g-null-dc
Ippolit - тамагоч
немного моего пиксель арта
Raven84Дата: Воскресенье, 14 Октября 2012, 13:22 | Сообщение # 3574
старожил
Сейчас нет на сайте
jayreck, Ну если у тебя линии фиксированной длины,то конечно можно создать невидимый объект размерами 1 на 90 пикселей и через событие столкновения моба отнимать его hp.Но я думаю можно придумать и другой способ.

Добавлено (14.10.2012, 13:20)
---------------------------------------------
Я единственное не совсем понимаю,что именно будет у тебя в игре? Эти линии действительно РИСУЮТСЯ (т.е.их видно) ? Что они изображают в игре,точнее для чего они? Лазеры от ГГ или что? Опиши подробнее,может можно будет все намного проще реализовать. smile

Добавлено (14.10.2012, 13:22)
---------------------------------------------
Как часто появляются эти линии? Нельзя ли просто сделать если моб находится ближе 90 пикселей от героя,то отнимать у него hp ? Или нет ? Задумка в другом? smile


Super Knight Story (в разработке)
Idolzzz - игра доступна в Steam и Play Market
Oliver's Adventures in the Fairyland
jayreckДата: Воскресенье, 14 Октября 2012, 14:49 | Сообщение # 3575
участник
Сейчас нет на сайте
Raven84, видео пример действительно они рисуются и их видно, это что-то вроде разряда молний, а появляются они только при нажатии кнопки мыши
а вот
Quote (Raven84)
просто сделать если моб находится ближе 90 пикселей от героя,то отнимать у него hp
над этим надо поковыряться сейчас


g-null-dc
Ippolit - тамагоч
немного моего пиксель арта


Сообщение отредактировал jayreck - Воскресенье, 14 Октября 2012, 14:53
Raven84Дата: Воскресенье, 14 Октября 2012, 15:01 | Сообщение # 3576
старожил
Сейчас нет на сайте
jayreck, А у тебя эти линии разве не реализованы отдельным объектом?

Добавлено (14.10.2012, 14:58)
---------------------------------------------
Тут проще было бы создать эту линию отдельным объектом и в событии столкновения с этой линией у моба отнимать hp.Я так думаю.

Добавлено (14.10.2012, 15:01)
---------------------------------------------
Просто сделай отдельный объект со спрайтом этой молнии.Далее в событии нажатия мыши у ГГ создавай этот объект.А у моба в столкновении отнимай hp.Вот и все!!!


Super Knight Story (в разработке)
Idolzzz - игра доступна в Steam и Play Market
Oliver's Adventures in the Fairyland
jayreckДата: Воскресенье, 14 Октября 2012, 15:01 | Сообщение # 3577
участник
Сейчас нет на сайте
Raven84, неа, просто рисуются скриптом. есть правда один объект, он следует за игроком, но из него и происходит рисование этих линий.

g-null-dc
Ippolit - тамагоч
немного моего пиксель арта
Raven84Дата: Воскресенье, 14 Октября 2012, 15:13 | Сообщение # 3578
старожил
Сейчас нет на сайте
В спрайте молнии сделай несколько кадров (чтобы она извивалась так сказать).
А в самом объекте молнии сделай чтобы исчезала при прошествии какого-либо времени,либо просто image_alpha уменьшай до нуля (далее уничтожай).

Добавлено (14.10.2012, 15:04)
---------------------------------------------
jayreck, Мне кажется ты все усложняешь.Зачем отдельный скрипт для рисования?

Добавлено (14.10.2012, 15:04)
---------------------------------------------
И зачем отдельный объект?

Добавлено (14.10.2012, 15:13)
---------------------------------------------
jayreck, Скрипты кстати вообще не желательно использовать в GameMaker,только в крайних случаях.Они вроде бы замедляют игру.В твоем случае они точно не нужны.


Super Knight Story (в разработке)
Idolzzz - игра доступна в Steam и Play Market
Oliver's Adventures in the Fairyland
jayreckДата: Воскресенье, 14 Октября 2012, 15:13 | Сообщение # 3579
участник
Сейчас нет на сайте
Raven84, ну этот объект следовал за ГГ и из него происходило рисование, а также я дурной biggrin
ладно пойду спрайты сделаю лови +
------------------------------------------------
я знаю что замедляют особенно в событии рисования, идея скрипта пришла ночью вот и реализовал


g-null-dc
Ippolit - тамагоч
немного моего пиксель арта


Сообщение отредактировал jayreck - Воскресенье, 14 Октября 2012, 15:15
Raven84Дата: Воскресенье, 14 Октября 2012, 15:17 | Сообщение # 3580
старожил
Сейчас нет на сайте
jayreck, Еще нужна будет помощь-обращайся...Правда я все же не понимаю как ты рисовал? Событием Draw что-ли?Для этого и создавал второй объект?

Super Knight Story (в разработке)
Idolzzz - игра доступна в Steam и Play Market
Oliver's Adventures in the Fairyland
Поиск:

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