Урон при падении
|
|
TR4Y | Дата: Среда, 19 Декабря 2012, 18:41 | Сообщение # 1 |
участник
Сейчас нет на сайте
| Как сделать урон при падении игрока с определённой высоты?
Сообщение отредактировал _TRaY_ - Среда, 19 Декабря 2012, 18:41 |
|
| |
Sanches | Дата: Среда, 19 Декабря 2012, 18:47 | Сообщение # 2 |
участник
Сейчас нет на сайте
| Если ты используешь поведение Platformer, то: 1.Добавь игроку приватную переменную 2.Всегда делай её равной Y-скорости игрока 3.Перед событием, где задаётся значение переменной (пункт 2) поставь проверку на Игрока - Is On Ground (события для поведения Platformer) -Если переменная больше максимальной безвредной скорости падения - наноси урон.
|
|
| |
TR4Y | Дата: Среда, 19 Декабря 2012, 19:02 | Сообщение # 3 |
участник
Сейчас нет на сайте
| Sanches, можно исходник? Не совсем понятен 3 пункт.
|
|
| |
XeoDoz | Дата: Среда, 19 Декабря 2012, 19:03 | Сообщение # 4 |
XeoDoz Games
Сейчас нет на сайте
| Quote (Sanches) Перед событием, где задаётся значение переменной (пункт 2) поставь проверку на Игрока - Is On Ground (события для поведения Platformer) Вот этот момент мне можешь по другому объяснить, а то я не понял
Ехал Falco через Falco, видит Falco в реке Falco, сунул Falco руку в Falco, Falco Falco Falco Falco Очень рад плюсеГгам в репу
|
|
| |
allxumuk | Дата: Среда, 19 Декабря 2012, 19:03 | Сообщение # 5 |
старожил
Сейчас нет на сайте
| Исходник с незапамятных времён.
Любой дурак может написать программу, которую поймёт компилятор. Хорошие программисты пишут программы, которые смогут понять другие программисты.
|
|
| |
TR4Y | Дата: Среда, 19 Декабря 2012, 19:06 | Сообщение # 6 |
участник
Сейчас нет на сайте
| XeoDoz, дак да Добавлено (19.12.2012, 19:06) --------------------------------------------- allxumuk, кстати тоже была идея сделать такой алгоритм, я думал плохая мысль. Спасибо за исходник.
|
|
| |
atoris | Дата: Среда, 19 Декабря 2012, 21:52 | Сообщение # 7 |
участник
Сейчас нет на сайте
| не знаю как это делаеться в конструкторе, но я в своих флеш играх делал просто, если есть в игре гравитация(скорость по Y увеличиваеться на 0.98 за фрейм, как по правилам свободного падения или просто на 1 пункт, во флеше это 1 пиксель) за кадр тоесть примрно 1000милисекунд/30кадров=0.98 пикселя по Y, а дальше просто сравниваем скорость
если скорость>10 и <20кадров то минус 5 сдоровья если скорость>30кадров то минус 10 сдоровья ну и так далие...
Если правда в этом конструкторе есть программирование.
Вступайте в групу
|
|
| |
TR4Y | Дата: Четверг, 20 Декабря 2012, 06:07 | Сообщение # 8 |
участник
Сейчас нет на сайте
| allxumuk, после проверки оказалось, что исходник дрянь! Не подходит...
|
|
| |
Sanches | Дата: Четверг, 20 Декабря 2012, 16:12 | Сообщение # 9 |
участник
Сейчас нет на сайте
| Эмм... Как он может не подойти?)) Попробуй самостоятельно сделать что-то вроде моего способа. XeoDoz, для поведения Платформер есть условие Is On Ground - срабатывает, если объект на земле, то есть не падает и не прыгает. Сделай описанное событие, и левой кнопкой мышки перетащи его по листу событий выше события, где задаёшь значение переменной.
|
|
| |
uslucifer | Дата: Четверг, 20 Декабря 2012, 16:26 | Сообщение # 10 |
постоянный участник
Сейчас нет на сайте
| _TRaY_, все работает как часы, можно выставить диапазоны с уроном. вот наспех собрал пример для поведения платформер в примере с одной платформы можно получить урон лишь прыгнув на землю, с другой просто сойти. Комментировал "мелким шрифтом", ранее выложенную идею. Удачных Экспериментов!
Сообщение отредактировал uslucifer - Четверг, 20 Декабря 2012, 16:50 |
|
| |
madsen | Дата: Пятница, 21 Декабря 2012, 22:15 | Сообщение # 11 |
постоянный участник
Сейчас нет на сайте
| делаешь переменную fall
пишешь событие:gg is falling? - add to value fall +1
gg is on ground - value fall greather than 38(k прuмеpу) - add to value hp -3 - gg set value fall to 0
gg is on ground - value fall less than 38 - set value fall to 0
ScirrA ConstrucT ------------------------- Unity 3D ------------------------- Crytek Engine 3 ------------------------- Unreal Development Kit
|
|
| |
DimOk | Дата: Пятница, 21 Декабря 2012, 23:23 | Сообщение # 12 |
ONG studio
Сейчас нет на сайте
| можно сделать переменную speed Код always> >>>gg> set value> gg.speed
gg is on ground> gg value Speed>200> >>>gg> subtruct from value> [helth] 10
как то так
Активно пользуюсь Godot Engine
|
|
| |