Показать сообщение отдельно
Старый 19.10.2010, 10:47   #8
viper86
Нуждающийся
 
Аватар для viper86
 
Регистрация: 19.11.2008
Адрес: Украина, Луганск
Сообщений: 72
Написано 34 полезных сообщений
(для 123 пользователей)
Ответ: пара вопросов от Колосса

Сообщение от Kudesnic Посмотреть сообщение
для того чтобы пули были визуальными, мне кажется можно сделать так:
Пусть модель пули например будет что-то типа палки яркого цвета
В функции создания выстрела "рождаем" эту пулю около оружия

shot\entity=CreateCube(gun) ;пуля сразу привязана к оружию
ScaleEntity shot\entity,.1,.1,5

И сразу же "отцепляем" ее от пушки

EntityParent shot\entity,0

Потом в функции обновления пуль, быстро двигаем их вперед

MoveEntity shot\entity,0,0,10

Ну и там проверяем их на столкновения с объектами или просто удаляем
Все вроде просто)
Лучше так не делать, так как пуля может за один кадр перелететь объект и попадание не засчитаеться. Да и ресурсов кушать будет поболее, чем пиком. Предлагаю создавать pivot с родителем в лице твоей пушки, двигать его вперёд на расстояние, равное дальности полета пули для данного оружия, затем при выстреле делать пик от пушки до пивота с постоянно растущим радиусом, то есть:
distance = distance + 5
LinePick(EntityX(gun), EntityY(gun), EntityZ(gun), EntityX(pivot), EntityY(pivot), EntityZ(pivot), distance)
И так до тех пор, пока distance не превысит дальность полета пули (distance > EntityDistance(gun, pivot)). Такой способ быстрее будет работать плюс как бы быстро не менялся твой distance, пик всё равно пикнет объект.
__________________
Лечим заражение... одна пуля - один больной.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо viper86 за это полезное сообщение:
Colossus (20.10.2010), Kudesnic (19.10.2010)