Среда, 25 Декабря 2024, 05:06

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Урон при падении
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, дак да smile

Добавлено (19.12.2012, 19:06)
---------------------------------------------
allxumuk, кстати тоже была идея сделать такой алгоритм, я думал плохая мысль.
Спасибо за исходник. smile

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
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг