Форум » Вопрос-Ответ » "Game Marker" Повисание на стене » Ответить
"Game Marker" Повисание на стене
Lgunchik: Привет всем с кем ещё не поздоровался! У меня такой вопрос. Я создаю(пытаюсь создать) игру в жанре платформера, игрок у меня там уже умеет бегать, прыгать, стоять на плотформе и мне надо сделать так чтобы когда игрок не допрыгивает до платформы он повисал на выступе, а потом нажатием "вверх" или "вниз" он подымался на платформу или спрыгивал вниз.
Ответов - 58, стр:
1 2 All
sanchez: так, мона на краях платформы делать невидимый обьект, при столкновении с которым он... ну вот это делает или мона очень тщательно проверять координаты платформы, типо если он близко к нему, повернут к нему... зы. вообщет мог бы найти темко типо "вопросы о гм" или что то типо такого
Lgunchik: да и ещё. Есть ГГ , есть платформы, есть прыжок, но прыжок глюкнотый потому что когда ГГ падает с платформы можно нажать "прыжок" и он прыгнет в воздухе но всего 1 раз , после приземления прыжок обновляется и опять можно прыгать. Как исправить
Ev-genius: добавить условие с проверкой гравитации: открываешь тот самый код которые ты гдето нашел, ищешь там строчку отлова прыжка и обрамляешь условием
Lgunchik: ещё 1 небольшой вопрос. Создаю ГГ и платформы делаю без кода ходьбу, силу трения и гравитацию, когда ГГ достигает платформ он "застревает" т.е. не ходит ни влево, ни вправо. Я знаю что там надо сделать так что когда ГГ задел платформу то сила притяжения 0, а когда он не на платформе то любое число кроме 0. Так вот мне и надо последовательность команд (без кода)
ккким: сделай при столкновении с платформой vertical speed=0
Lgunchik: У меня два вопроса: 1.Как убрать прилипание к стенам l____lO вот в этом положений если жать в лева то ГГ висит на стене 2.Как "сгладить" пиксели. Не в изображение, а когда ГГ встречается с неровной поверхностью он застревает, ну и вот и как сделать так чтобы ГГ на не большие выступы (как лестницы) "восходил"?
sanchez: 2. с помощью маски, сделай ее тупо квадратную
Lagevae: 2. Тут надо физику совсем сложную делать. Можешь поискать примеры, тут например: mizzystic.ru. Прямо вот так написать хорошую физику для платформера - дело сложное для новичка. 1. Ответ такой же, что и на 2-ой вопрос.
Lgunchik: Люди, а как сделать совершенно разные 3 шкалы: 1.шкл.жизней 2.шкл.маны 3.шкл.замедления времени?
Spyro23: В событии создания указываешь название переменной и её кол-во, например lives=3 mana=10 slowtime=100
Lgunchik: По подробней можно?
Spyro23: В событии создания выбираешь вкладку control, в ней действие execute piece of code, в появившимся окне пишешь: lives=3 mana=10 slowtime=100 Закрываешь окно путём нажатия на галочку в верхнем левом углу.
Lgunchik: вот исходник плизз сделай несколько баров http://slil.ru/28329493
Lgunchik: с отображением на экране
ккким: в новом обьекте рисуешь прямоугольник х1,у1,у2 делаешь где хочешь а х2=objectglavnyihero.health\mana\slowtime
Lgunchik: яснее мона?)) я ещё нубко в ГМ
Spyro23: Лови: http://dump.ru/file/3923727
Lgunchik: и ещё нада сделать так что бы когда ГГ стрелял пуля не пролетала ни через стены, ни через что либо другое +тебе за бары
Spyro23: Задавай для пули в событии столкновения с объектом уничтожение.
Lgunchik: ой я мысль свою не правильно выразил)) Короче, проблема в том что я делаю уничтожение и всё такое, но кадров в сек оч много и к тому же скорость пули тоже очень большая и когда стена толстая вроде нормально, а когда тонкая пуля просто-напросто пролетает сквозь. это происходит потому что в одном кадре пуля перед стеной, а в другом у ней из-за большой скорости положение уже после стены
Ev-genius: в таких случаях можно будет проверять столкновение функцией collision_line() подробнее в справке по нажатию F1
Lagevae: For'ом надо сканировать столкновения. Примерно так: for(i=0;i<speed;i+=sprite_width) {if(place_meeting(x+i,y,o_wall)) {instance_destroy()}}
Lgunchik: конечно спасибо, но оба способа дают проникнуть через стену!!!
ккким: сделай вытянутую пулю
Ev-genius: Lgunchik пишет: конечно спасибо, но оба способа дают проникнуть через стену!!! вообще проверка считается по пикселям, так что нормально всё будет =)
Lgunchik: вот исходник, если не сложно сделайте как надо может я не так что делаю http://slil.ru/28333367
TiberiyLTim: Ты хочешь сделать что-то типа "Принца Персии"? =)
Lgunchik: ну...типо Принс Перси только с автоматом)))
Lgunchik: кстати, если кто хочет присоединиться ко мне то пишите в личку, будем вместе игры создавать))
ккким: я бы присоединился но у меня своих проектов хватает
Flooty: Spyro23 пишет: lives=3 mana=10 slowtime=100 я думаю нужно сделать глобальные переменные... global.lives = 3; global.mana = 10; global.slowtime = 100; и вызвать один раз этот скрипт иначе в каждом уровне параметры будут срасываться...
Spyro23: Flooty пишет: я думаю нужно сделать глобальные переменные... global.lives = 3; global.mana = 10; global.slowtime = 100; и вызвать один раз этот скрипт иначе в каждом уровне параметры будут срасываться... Ну, это уже на усмотрение автора.
Lgunchik: http://slil.ru/28335866 ~132KB смотрим, говорим что можно ещё добавить к игре(анимацию потом добавлю)
Lagevae: Flooty пишет: global.lives = 3Эта переменная по стандарту глобальная. Как health и score.
ккким: смотрим, говорим что можно ещё добавить к игре(анимацию потом добавлю) НАВЕРНО ВРАГОВ
Lgunchik: а есть ли книги по ГМ? не помощь в самой проге, не примеры, а вот имено книга
Lagevae: Lgunchik пишет: а есть ли книги по ГМ? не помощь в самой проге, не примеры, а вот имено книгаХех, нету)
sanchez: нагугли The Game Maker's Apprentice
Lagevae: sanchez пишет: нагугли The Game Maker's Apprentice Оу, а я и не знал даже! Слышал о разных книгах об игрострое в целом, но чтоб так...)
sanchez: на самом деле лично мне эта книга ничем не помогла, хелп - вот лучшее решение моих проблем в гм
полная версия страницы