![]() |
Стрельба
Вопщем дело такое:
Чтобы зделать выстрелы почитал темку про FPS ну вопщем так и зделал, стреляет. Но! Мои патрны летят только горизонтально, а ведь они вылетают из объекта. Подскажите как реализовать вылет одного объекта из другого под определённым углом, тоесть под тем углом на который повёрнут объект из которого будет вылетать другой. Ещё точне: тоесть например есть у меня кубик я вращаю этот кубик во все стороны мышью, и мне нужно чтобы из этого кубика вылетал объект именно туда и под тем углом куда повёрнут этот кубик. А второе я не знаю как зделать это то, как заставить патроны лететь в прицел, тоесть: у меня к моему объекту зади привязана камера аля вид от третьего лица, и из этого объекта летят пули, они летят из него прямо, а мне нужно чтобы они летели в прицел, а сам прицел находится над этим объектом. Вот такие пироги ) Помогите, разъясните. :SOS: Желательно сразу кодом. Заранее спасибо. |
Re: Стрельба
Код:
Graphics3D 800,600,32 |
Очень тебе благадарен!
Пытаюсь пока разобраться до конца с кодом и подстроить под игру ) Но пока получаются ужасные вещи =)) Зато я теперь знаю как можно будет сделать шлейф от двигателей корабля ) http://img411.imageshack.us/img411/9161/xblcz2.jpg ..... Уже начинаю понимать что к чему )) http://img265.imageshack.us/img265/91/xxbluh1.jpg ..... Всё теперь адназначна разобрался! Патроны летят под тем углом под которым находится корабль, и бьют в прицел. Ещё раз большущее спасибо! http://img413.imageshack.us/img413/5629/xxxbllx3.jpg |
Re: Стрельба
Чтото всётаки недопонял и теперь встал вопрос:
а как сместить точку создания выстрела? мне так и надо чтобы птрон вылетал из корабля, но надо чтобы из определённой части, из орудия. надо сместить место создания патрона вроди сместить объект ничего сложного нету, но именно в таком коде у меня не получается. |
Re: Стрельба
:pure_magic:всё сделал =)
добавил: Код:
MoveEntity obj\entity,100,100,100 )) |
Re: Стрельба
Не подскажете а как сделать так чтоб выстрел происходил при нажатие мыше в этом коде:
Код:
Graphics3D 800,600,32 |
Re: Стрельба
IMh1=MouseHit(1)
If IMh1 Стрелять EndIf |
Re: Стрельба
Ну вот у меня как
Код:
If MouseHit(1) Then тут у меня вызывается 2 функции создания выстрелов (потому что 2 орудия) а функция las1 проигрывает звук выстрела Код:
Function las1() Код:
Global laser1=LoadSound("Data\sound\laser.wav") |
Re: Стрельба
Лучше убрать las1(), хоть и конечно удобнее - кода меньше, но плохо то что вызов функции, а функция в 1 строку. Поэтому лучше не функцию вызывать а сам звук.
|
Re: Стрельба
Цитата:
но просто я игру строю таким методом что всё в отдельных функциях а эти функции расположены в файлах а сами файлы уже вызываются ехешником я ещё не известно что с las1() функцией тварить буду в будущем так что оставлю так |
Re: Стрельба
Ну если ещё и в будущем, тогда +1, за то что смотришь вперёд ;)
Но были тесты, и конечно это нужно мнооого раз функций вызивать, но всёже скорость если ещё и параметров побольше от вызова функций может падать. Но я думаю это никому не грозит, тольо если РТС с 2к юнитами, и все ещё друг друга перебирают и много всяких функций юзат, тогда да ;) там и сам блиц умрёт не от функций. |
Re: Стрельба
Да. понимаю )
функции зло ) |
Re: Стрельба
Цитата:
|
Re: Стрельба
Цитата:
|
Re: Стрельба
Итак. Систему стрельбы от имперсоналиса использую на своём корабле. Всё прекрасно летает стреляет. Решил заняться юзером, и вот дошло дело до стрельбы юзера. Решил использовать ту же систему. Стрелять то стреляет, но не хочет бить через прицел почемуто. Посмотрите код, что где нетак? Почему патрон не летит через прицел?
Код:
;--------------------------------------------------------------------------------------- WORLD: Далее разъясню что здесь есть что: mXSp# и mYSp# - переменные для управления юзера и его камерой. k1 - юзер camerauser - сами думаю поняли pushka - тоже объяснять нечего prck1 - прицел sostpushka#=0 - состояние оружия тобиш покачивание, интенсивность покачивания зависит от того стоит персонаж или бежит. earth - текстура земли Pl - земля k1u# - переменная отвечающая за загрузку и удаление функций Type s - патрон Function k1() - создание юзера и его камеры Function pushka() - создание оружия и прицела Function k1u() - управление юзером Function s_construct.s(pushka,prck1) - создание патрона Function s_update() - движение и удаление патрона If KeyHit(16) - если нажата клавиша Q создаём юзера и оружие и меняем переменную k1u# с 0 на 1 If k1u#=1 - если переменная равна одному включаем управление юзера и функцию полёта патрона If KeyHit(18) - если нажата клавиша E удаляем юзера с оружием, камеру и выключаем функции управления юзером и полёта патрона и ещё если If k1u#=1 крепим прицел к центру экрана Исходняк можно скачать тут - http://ifolder.ru/3454174 Народ, что я упустил???? Почему не бьёт через прицел? |
Часовой пояс GMT +4, время: 13:39. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot