Гравитация и прыжки - Форум
Воскресенье, 11.12.2016, 16:48
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 512345»
Форум » Разработка игр » Вопросы по game maker » Гравитация и прыжки
Гравитация и прыжки
ВинделикаДата: Воскресенье, 30.03.2014, 16:10 | Сообщение # 1
Новичок
Группа: Пользователи
Сообщений: 23
Награды: 0
Репутация: 13
Статус: Offline
Привет всем. Вот хочу я сделать бродилку, типа "Огонь и Вода" или "Супер Марио". И наткнулась на такую проблему - не могу сделать гравитацию и прыжки. У меня мячик в небеса улетает, а надо чтобы он прыгнул и приземлился. Как так сделать?
 
BRESSДата: Воскресенье, 30.03.2014, 16:38 | Сообщение # 2
Мастер-ломастер
Группа: Администраторы
Сообщений: 3239
Награды: 0
Репутация: 221
Статус: Offline
Пример прикрепил к посту. Думаю, вы разберетесь. Но если что непонятно, спрашивайте, отвечу. Удачи! smile
Прикрепления: primer.gmk(9Kb)


Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
 
Gracio001Дата: Воскресенье, 30.03.2014, 20:31 | Сообщение # 3
Отменить рассвет
Группа: Администраторы
Сообщений: 1370
Награды: 2
Репутация: 181
Статус: Offline
Цитата Винделика ()
Привет всем. Вот хочу я сделать бродилку, типа "Огонь и Вода" или "Супер Марио". И наткнулась на такую проблему - не могу сделать гравитацию и прыжки. У меня мячик в небеса улетает, а надо чтобы он прыгнул и приземлился. Как так сделать?
Объясню, можно сказать, на пальцах.
Смотри: чтобы была гравитация в "стандарте" (то есть работала в зависимости только от существования прыжка, или же положительного значения его переменной) нужно в создании прописать:

Код
gravity=1//Гравитация в стандарт
jump=0//Переменная прыжка
//Упрощение условий:
m0=keyboard_check(vk_nokey)
m1=keyboard_check(vk_right)
m2=keyboard_check(vk_left)
Далее создаем событие "Шаг", пишем:
Код
if keyboard_check_pressed(vk_up)
{if jump<2
{vspeed=-10
jump+=1}
else
{}}
Уверен, что движение вы осуществили, но все-же помогу. Для легкого прописания дальнейшего кода стоит хранить функции движения в отдельных скриптах. Создаем scr_move, пишем

Код
if(m0)
{hspeed=0}
if(m1)
{hspeed=5}
if(m2)
{hspeed=-5}
В шаг добавьте:

Код
scr_move()
В столкновение с объектом земли пишите:

Код
jump=0
vspeed=0

Если что не так - пишите. Мог намудрить, ибо только что делал восстановление системы и GM под рукой нет. До свидания.


варвара сегодня плакала ночью,
боялась, что утро уже не наступит.
 
BRESSДата: Воскресенье, 30.03.2014, 20:35 | Сообщение # 4
Мастер-ломастер
Группа: Администраторы
Сообщений: 3239
Награды: 0
Репутация: 221
Статус: Offline
Gracio001, перемудрил. Нужна была только гравитация, а ты тут еще столько напихал, да и растолковал так непонятно, что даже у меня крыша поехала)) Плюс все делается гораздо проще, чем ты сейчас написал.

Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
 
Gracio001Дата: Воскресенье, 30.03.2014, 20:46 | Сообщение # 5
Отменить рассвет
Группа: Администраторы
Сообщений: 1370
Награды: 2
Репутация: 181
Статус: Offline
Цитата BRESS ()
Gracio001, перемудрил. Нужна была только гравитация, а ты тут еще столько напихал, да и растолковал так непонятно, что даже у меня крыша поехала)) Плюс все делается гораздо проще, чем ты сейчас написал.
Пишу, как я обычно делаю.


варвара сегодня плакала ночью,
боялась, что утро уже не наступит.
 
ВинделикаДата: Воскресенье, 30.03.2014, 20:52 | Сообщение # 6
Новичок
Группа: Пользователи
Сообщений: 23
Награды: 0
Репутация: 13
Статус: Offline
BRESS, спасибо огромное, все получилось!
 
BRESSДата: Воскресенье, 30.03.2014, 20:58 | Сообщение # 7
Мастер-ломастер
Группа: Администраторы
Сообщений: 3239
Награды: 0
Репутация: 221
Статус: Offline
Цитата Gracio001 ()
Пишу, как я обычно делаю.
Если интересует, то у меня вот так все обычно выходит (включая движение, но без учета работы с масками):


Цитата Винделика ()
BRESS, спасибо огромное, все получилось!
Обращайтесь happy


Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
 
ВинделикаДата: Пятница, 04.04.2014, 15:55 | Сообщение # 8
Новичок
Группа: Пользователи
Сообщений: 23
Награды: 0
Репутация: 13
Статус: Offline
Так, у меня снова проблема, на этот раз с очками. Мне надо, чтобы когда игрок ловил звездочку, в углу выходило "Очки +10", ну и очки соответственно прибавлялись. А когда уровень закончится, чтобы выходило окно, а в нем что-то типа "Очки: сумма очков". Подскажите, как так можно сделать?
 
BRESSДата: Пятница, 04.04.2014, 16:00 | Сообщение # 9
Мастер-ломастер
Группа: Администраторы
Сообщений: 3239
Награды: 0
Репутация: 221
Статус: Offline
Винделика, подсказать могу, но вы, наверное, не поймете. Ладно, попробую. Создаете, значит, любую переменную и при выполнении определенного условия увеличиваете ее на 10. Далее просто выводите текст на экран в событии рисования. Если непонятно, отпишитесь - напишу пример.

Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
 
ВинделикаДата: Пятница, 04.04.2014, 16:03 | Сообщение # 10
Новичок
Группа: Пользователи
Сообщений: 23
Награды: 0
Репутация: 13
Статус: Offline
BRESS, да, вы правы, я ничего не поняла XD
 
Gracio001Дата: Пятница, 04.04.2014, 16:13 | Сообщение # 11
Отменить рассвет
Группа: Администраторы
Сообщений: 1370
Награды: 2
Репутация: 181
Статус: Offline
Винделика, если BRESS не скинул еще пример, то код ниже:



варвара сегодня плакала ночью,
боялась, что утро уже не наступит.
 
Gracio001Дата: Пятница, 04.04.2014, 16:14 | Сообщение # 12
Отменить рассвет
Группа: Администраторы
Сообщений: 1370
Награды: 2
Репутация: 181
Статус: Offline
Винделика, вторую проблему опиши подробнее.

варвара сегодня плакала ночью,
боялась, что утро уже не наступит.
 
BRESSДата: Пятница, 04.04.2014, 16:20 | Сообщение # 13
Мастер-ломастер
Группа: Администраторы
Сообщений: 3239
Награды: 0
Репутация: 221
Статус: Offline
Gracio001, невооруженным глазом ошибки видны =)
Винделика, ничего, если я вечерком скину пример? Сейчас лень как-то.


Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
 
Gracio001Дата: Пятница, 04.04.2014, 16:22 | Сообщение # 14
Отменить рассвет
Группа: Администраторы
Сообщений: 1370
Награды: 2
Репутация: 181
Статус: Offline
BRESS, возможно). GM нет под рукой,

варвара сегодня плакала ночью,
боялась, что утро уже не наступит.
 
ВинделикаДата: Пятница, 04.04.2014, 16:27 | Сообщение # 15
Новичок
Группа: Пользователи
Сообщений: 23
Награды: 0
Репутация: 13
Статус: Offline
Gracio001, выделяет красным ошибки в коде.
Цитата Gracio001 ()
Винделика, вторую проблему опиши подробнее.
Ну вот уровень закончился и должно вылезти всплывающее окно "Итоги уровня" а в нем набранная сумма очков. А у меня это самое окно никак не выходит...
Цитата BRESS ()
Винделика, ничего, если я вечерком скину пример? Сейчас лень как-то.
Ладно =) Я пока с графикой поработаю.
 
Форум » Разработка игр » Вопросы по game maker » Гравитация и прыжки
Страница 1 из 512345»
Поиск: