Привет всем. Вот хочу я сделать бродилку, типа "Огонь и Вода" или "Супер Марио". И наткнулась на такую проблему - не могу сделать гравитацию и прыжки. У меня мячик в небеса улетает, а надо чтобы он прыгнул и приземлился. Как так сделать?
Привет всем. Вот хочу я сделать бродилку, типа "Огонь и Вода" или "Супер Марио". И наткнулась на такую проблему - не могу сделать гравитацию и прыжки. У меня мячик в небеса улетает, а надо чтобы он прыгнул и приземлился. Как так сделать?
Объясню, можно сказать, на пальцах. Смотри: чтобы была гравитация в "стандарте" (то есть работала в зависимости только от существования прыжка, или же положительного значения его переменной) нужно в создании прописать:
Код
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, пишем
Если что не так - пишите. Мог намудрить, ибо только что делал восстановление системы и GM под рукой нет. До свидания. ты никогда не станешь просто девочкой из песни.
Gracio001, перемудрил. Нужна была только гравитация, а ты тут еще столько напихал, да и растолковал так непонятно, что даже у меня крыша поехала)) Плюс все делается гораздо проще, чем ты сейчас написал. Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
Gracio001, перемудрил. Нужна была только гравитация, а ты тут еще столько напихал, да и растолковал так непонятно, что даже у меня крыша поехала)) Плюс все делается гораздо проще, чем ты сейчас написал.
Пишу, как я обычно делаю. ты никогда не станешь просто девочкой из песни.
Если интересует, то у меня вот так все обычно выходит (включая движение, но без учета работы с масками):
if place_free(x,y+2) gravity=1 else gravity=0; if not place_free(x,y+vspeed) { move_contact_solid(270,12) vspeed=0; y-=1; } if keyboard_check(vk_up) { if not place_free(x,y+3) vspeed=-15; } if keyboard_check(vk_left) {if place_free(x-5,y) x-=5} if keyboard_check(vk_right) {if place_free(x+5,y) x+=5}
ЦитатаВинделика ()
BRESS, спасибо огромное, все получилось!
Обращайтесь Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
Так, у меня снова проблема, на этот раз с очками. Мне надо, чтобы когда игрок ловил звездочку, в углу выходило "Очки +10", ну и очки соответственно прибавлялись. А когда уровень закончится, чтобы выходило окно, а в нем что-то типа "Очки: сумма очков". Подскажите, как так можно сделать?
Винделика, подсказать могу, но вы, наверное, не поймете. Ладно, попробую. Создаете, значит, любую переменную и при выполнении определенного условия увеличиваете ее на 10. Далее просто выводите текст на экран в событии рисования. Если непонятно, отпишитесь - напишу пример. Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
Gracio001, невооруженным глазом ошибки видны =) Винделика, ничего, если я вечерком скину пример? Сейчас лень как-то. Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!