|
Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения |
27.07.2007, 16:48
|
#1
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
стрельба очеридями и одиночная
как зделать ??
ну чё то типа :
очеридями - mousedown(1)
одиночная - mousehit(1)
у меня не получается чё то !!
желатель кусочек кода !!
|
(Offline)
|
|
27.07.2007, 17:31
|
#2
|
Дэвелопер
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений (для 110 пользователей)
|
Re: стрельба очеридями и одиночная
Че не получается?
|
(Offline)
|
|
27.07.2007, 18:13
|
#3
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Re: стрельба очеридями и одиночная
Тут нужен таймер.
ml=millisecs()
if keydown(fire) and d#=ml+1000 then
FIRE
d#=millisecs()
endif
Что-то вроде этого.
ЗЫЖ Пишу по памяти, если че не так поправите, только не рычите .
|
(Offline)
|
|
30.07.2007, 12:13
|
#4
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: стрельба очеридями и одиночная
у меня зделано с таймером !!
но тут новая проблема !!
допустим задержка 333 т.е. 3 выстрелов в секунду очередями, но когда я кликаю (маусХит) быстрей чем 3 раза в секунду (допустим 5 раз) оно всё равно стреляет 3 раза, т.е. мне приходится ждать задержку что бы потом опять стрельнуть !!
|
(Offline)
|
|
30.07.2007, 13:12
|
#5
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: стрельба очеридями и одиночная
Используешь Delay чтоли?
Используй обыкновенный Millisecs().
|
(Offline)
|
|
30.07.2007, 14:17
|
#6
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: стрельба очеридями и одиночная
вроде без "делея" всё !!
|
(Offline)
|
|
30.07.2007, 14:35
|
#7
|
Бывалый
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений (для 110 пользователей)
|
Re: стрельба очеридями и одиночная
Вот так я палю из слона!
curr_time=MilliSecs()
If MouseHit(1)
If curr_time - lastbullets > 1500
shooting ()
chnFire = PlaySound(enfield_snd)
lastbullets = MilliSecs()
EndIf
Вот так из колоша
curr_time=MilliSecs()
If MouseDown(1)
If curr_time - lastbulletm > 200
shooting ()
chnFire = PlaySound(ak47_snd)
FlushMouse
lastbulletm = MilliSecs()
EndIf
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
31.07.2007, 10:43
|
#8
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: стрельба очеридями и одиночная
Вы чего? Какие миллисекунды? Юзайте переменную
|
(Offline)
|
|
31.07.2007, 11:23
|
#9
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: стрельба очеридями и одиночная
мне нравиться версия Horror !!
|
(Offline)
|
|
03.08.2007, 10:27
|
#10
|
Гигант индустрии
Регистрация: 04.08.2006
Сообщений: 2,642
Написано 53 полезных сообщений (для 92 пользователей)
|
Re: стрельба очеридями и одиночная
А я юзаю переменную просто
|
(Offline)
|
|
03.08.2007, 13:40
|
#11
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: стрельба очеридями и одиночная
Вот так я палю из слона!
Код:
curr_time=MilliSecs()
If MouseHit(1)
If curr_time - lastbullets > 1500
shooting ()
chnFire = PlaySound(enfield_snd)
lastbullets = MilliSecs()
EndIf
Вот так из колоша
Код:
curr_time=MilliSecs()
If MouseDown(1)
If curr_time - lastbulletm > 200
shooting ()
chnFire = PlaySound(ak47_snd)
FlushMouse
lastbulletm = MilliSecs()
EndIf
|
только ещо и колошу надо добавить МаусеХит !!
|
(Offline)
|
|
03.08.2007, 14:10
|
#12
|
Мастер
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений (для 252 пользователей)
|
Re: стрельба очеридями и одиночная
Как из кОлоши можно стрелять??? А если серьезно, то у Horrora один и тот-же код для разных оружий, единственное отличие это задержка выстрела. Предлагаю добавить в тип оружия еще одно свойство delay_shoot.
type Weapon
...
field delay_shoot ' для каждого оружия своё
...
end type
.........
If MouseDown(1) and (MilliSecs() - lastbulletm) > Weapon[cur_weapon].delay_shoot
shooting ()
FlushMouse
lastbulletm = MilliSecs()
EndIf
|
(Offline)
|
|
03.08.2007, 15:25
|
#13
|
Бывалый
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений (для 110 пользователей)
|
Re: стрельба очеридями и одиночная
...Blitz3D\Samples\Blitz 3D Samples\Misc\rsi\rsi.bb
Кури этот пример на мои взгляд там стрельба грамотно реализована!
|
(Offline)
|
|
07.08.2007, 17:24
|
#14
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: стрельба очеридями и одиночная
у Horrora один и тот-же код для разных оружий, единственное отличие это задержка выстрела. Предлагаю добавить в тип оружия еще одно свойство delay_shoot.
|
да но у колоша два типа стрельбы: очеридями и одиночная т.е. маусеДаун и маусуХит , а пистолето одна :одиночная т.е. маусуХит !!
автомату нужно стрельбу два раза прописивать что ли ??
|
(Offline)
|
|
02.10.2007, 05:37
|
#15
|
Оператор ЭВМ
Регистрация: 14.09.2007
Сообщений: 27
Написано 2 полезных сообщений (для 5 пользователей)
|
Re: стрельба очеридями и одиночная
Global Bullet_time%
. . .
If MouseDown(1) And Bullet_time=0 Create_bullet():Bullet_time=10
If Bullet_time>0 Bullet_time=Bullet_time-1
имхо через переменную проще
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Стрельба |
Mark Castle |
3D-программирование |
24 |
21.11.2011 22:03 |
Стрельба |
Crystal |
3D-программирование |
15 |
23.09.2007 19:35 |
Часовой пояс GMT +4, время: 20:53.
|