Гравитация
|
|
GoodWin | Дата: Среда, 22.08.2012, 23:38 | Сообщение # 1 |
Бывалый
Группа: Постоянный
Сообщений: 473
Награды: 1
Репутация: 80
Статус: Offline
| Всем привет, какой код нужен для того чтобы: если у игрока под ногами есть земля (obj_ground) то гравитация была =0, а если нет то 3?
Кому нужны саундтреки для ваших игр, обращайтесь..
|
|
| |
koaran | Дата: Четверг, 23.08.2012, 11:12 | Сообщение # 2 |
Продвинутый
Группа: Постоянный
Сообщений: 483
Награды: 2
Репутация: 37
Статус: Offline
| GoodWin, для этого в объект твоего "прыгуна" в событие Create добавь действие Set Gravity и напиши в нем:
Direction: 0 Speed: 2
Теперь в событие столкновение с землей напиши действие Move Fixed и поставь точку посередине и Speed: 0
Пошел спать.
|
|
| |
BRESS | Дата: Четверг, 23.08.2012, 13:11 | Сообщение # 3 |
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
| Quote (koaran) GoodWin, для этого в объект твоего "прыгуна" в событие Create добавь действие Set Gravity и напиши в нем:
Direction: 0 Speed: 2
Теперь в событие столкновение с землей напиши действие Move Fixed и поставь точку посередине и Speed: 0 При работе с гравитацией ни в коем случае нельзя использовать Move Fixed!
Да и на самом деле лучше сделать объект obj_ground твердым(поставить галочку над свойством solid), а в событии Step для игрока ввести скрипт:
Code if (not place_free(x,y+1)) then gravity=0 else gravity=3
Кстати, в событии столкновения с нужным объектом необходимо обнулить значение переменной vspeed (vspeed=0).
Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
|
|
| |
GoodWin | Дата: Четверг, 23.08.2012, 15:14 | Сообщение # 4 |
Бывалый
Группа: Постоянный
Сообщений: 473
Награды: 1
Репутация: 80
Статус: Offline
| а как прыжок в верх сделать тогда, с этой гравитацией?
Кому нужны саундтреки для ваших игр, обращайтесь..
|
|
| |
BRESS | Дата: Четверг, 23.08.2012, 15:45 | Сообщение # 5 |
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
| Quote (GoodWin) а как прыжок в верх сделать тогда, с этой гравитацией? Просто вставь этот скрипт в нужное событие: Code if (not place_free(x,y+1)) then vspeed=-много
Только знаешь, я бы снизил значение gravity до 1, а то игрока так прижимать будет, что он вряд ли вообще оторвется от земли.
Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
|
|
| |
GoodWin | Дата: Четверг, 23.08.2012, 17:43 | Сообщение # 6 |
Бывалый
Группа: Постоянный
Сообщений: 473
Награды: 1
Репутация: 80
Статус: Offline
| если я нажимаю прыжок, появляется спрайт прыжка, а если во время прыжка нажать бег, то во время прыжка появляется спрайт бега, как от этого избавится?
Кому нужны саундтреки для ваших игр, обращайтесь..
|
|
| |
BRESS | Дата: Четверг, 23.08.2012, 22:32 | Сообщение # 7 |
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
| Quote (GoodWin) если я нажимаю прыжок, появляется спрайт прыжка, а если во время прыжка нажать бег, то во время прыжка появляется спрайт бега, как от этого избавится? Есть такая функция, как place_free. Порой она неплохо выручает в создании платформера:
Code if (place_free(x,y+1)) then begin if (любая переменная отвечающая за направление=право) then sprite_index=правый спрайт в прыжке else sprite_index=левый спрайт в прыжке end else begin if (любая переменная отвечающая за направление=право) then sprite_index=правый спрайт не в прыжке else sprite_index=левый спрайт не в прыжке end;
Это скрипт воткни в событие step и удали все прочие манипуляции со спрайтами, а то гавно какое-то выйдет. И кстати, если игрок будет цепляться за поверхность, то присвой ему какую-нибудь квадратную маску.
Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
|
|
| |
GoodWin | Дата: Четверг, 23.08.2012, 22:38 | Сообщение # 8 |
Бывалый
Группа: Постоянный
Сообщений: 473
Награды: 1
Репутация: 80
Статус: Offline
| а если спрайт повёрнут к мышке, будет работать?
Кому нужны саундтреки для ваших игр, обращайтесь..
|
|
| |
BRESS | Дата: Четверг, 23.08.2012, 22:38 | Сообщение # 9 |
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
| Quote (GoodWin) если я нажимаю прыжок, появляется спрайт прыжка, а если во время прыжка нажать бег, то во время прыжка появляется спрайт бега, как от этого избавится? И да, кстати... Я тут подумал, что ты можешь запороться с "любая переменная отвечающая за направление", как полный нуб. Но я не теряю надежды в том, что ты разберешься сам. Однако подстраховаться мне не помешает:
-Итак, в событии Create пиши: right=true -В событии движения вправо пиши: right=true -В событии движения влево: right=false
Теперь ты можешь смело писать вместо Code любая переменная отвечающая за направление=право нашу переменную:
Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
|
|
| |
BRESS | Дата: Четверг, 23.08.2012, 22:40 | Сообщение # 10 |
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
| Quote (GoodWin) а если спрайт повёрнут к мышке, будет работать? читай мой пост выше...
Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
|
|
| |
GoodWin | Дата: Четверг, 23.08.2012, 22:48 | Сообщение # 11 |
Бывалый
Группа: Постоянный
Сообщений: 473
Награды: 1
Репутация: 80
Статус: Offline
| а переменная отв. за направление в право это тоже right=true?
Кому нужны саундтреки для ваших игр, обращайтесь..
|
|
| |
GoodWin | Дата: Четверг, 23.08.2012, 22:50 | Сообщение # 12 |
Бывалый
Группа: Постоянный
Сообщений: 473
Награды: 1
Репутация: 80
Статус: Offline
| он у меня ходить перестал, посмотри
Кому нужны саундтреки для ваших игр, обращайтесь..
|
|
| |
BRESS | Дата: Четверг, 23.08.2012, 22:51 | Сообщение # 13 |
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
| Quote (GoodWin) а переменная отв. за направление в право это тоже right=true? Нет Это всего лишь наша вспомогательная переменная, которая поможет нам рисовать нужный спрайт.
Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
|
|
| |
BRESS | Дата: Четверг, 23.08.2012, 22:54 | Сообщение # 14 |
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
| Quote (GoodWin) он у меня ходить перестал, посмотри Quote (BRESS) И кстати, если игрок будет цепляться за поверхность, то присвой ему какую-нибудь квадратную маску. http://rghost.ru/39963323
Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
|
|
| |
GoodWin | Дата: Четверг, 23.08.2012, 22:54 | Сообщение # 15 |
Бывалый
Группа: Постоянный
Сообщений: 473
Награды: 1
Репутация: 80
Статус: Offline
| смотри выше
Кому нужны саундтреки для ваших игр, обращайтесь..
|
|
| |