Войти или зарегистрироваться

Помогите Взрыв гранаты

  • Автор темы Автор темы Den_Abr
  • Дата начала Дата начала

Den_Abr

Старожил
Девелопер
Пользователь
Баллы
173
Имя в Minecraft
Den_Abr
Собственно, сделал гранату, взрывающуюся. Но она не ломает блоки при взрыве. Собственно, не подскажете ли нормальный алгоритм просчёта, есть ли между гранатой и игроком какие то блоки(спрятался, например)?
 
Собственно, сделал гранату, взрывающуюся. Но она не ломает блоки при взрыве. Собственно, не подскажете ли нормальный алгоритм просчёта, есть ли между гранатой и игроком какие то блоки(спрятался, например)?
Как вариант можно брать координату гранаты и координату игрока из них получится прямоугольный регион, проверить его на наличие блоков
 
Как вариант можно брать координату гранаты и координату игрока из них получится прямоугольный регион, проверить его на наличие блоков
Много лишних блоков получится
 
Нет, 3 блока. Но при прямоугольном выделении в любом случае неточно.
Посмотреть вложение 19524
Действительно.
Ну тогда мб можно так. Так же в прямоугольнике проверяешь, если находишь блок то прибавляешь к координате блоке, которая отдаляется от гранаты в данный момент +1, и если там игрок - он закрыт
 
Действительно.
Ну тогда мб можно так. Так же в прямоугольнике проверяешь, если находишь блок то прибавляешь к координате блоке, которая отдаляется от гранаты в данный момент +1, и если там игрок - он закрыт
Слишком костыльно. Мне хочется от про услышать советы насчёт векторов, ибо я их вообще не умею применять.
 
Слишком костыльно. Мне хочется от про услышать советы насчёт векторов, ибо я их вообще не умею применять.
Мне кажется что вектора тут можно применить разве что для самого броска
А для взрыва я бы посоветовал не париться, и реализовать через createExplosion()
Либо посмотреть этот самый код в NMS
 
Я конечно не разбираюсь в векторах, но как вариант можно так: Ищем игроков в радиусе трех блоков, если нашли, то строим вектор от гранаты до игрока и ищем блоки в векторе, если не ошибаюсь есть функция isInAABB() которая проверяет наличие вектора в составе другого вектора.
 
Назад
Верх