Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 04.07.2006, 23:17   #1
smaller
Нуждающийся
 
Регистрация: 04.07.2006
Сообщений: 54
Написано 0 полезных сообщений
(для 0 пользователей)
Переключение оружия

Пожалуйста объясните как сделать переключение,мне надо сделать пистолет и автомат
P.S В поиск и начать с тетриса не предлогать
ПОЖАЛУЙСТА!!!!!!!!
(Offline)
 
Ответить с цитированием
Старый 05.07.2006, 04:00   #2
SubZer0
Администратор
 
Аватар для SubZer0
 
Регистрация: 03.09.2005
Сообщений: 2,408
Написано 301 полезных сообщений
(для 996 пользователей)
Радость

хммм... поиск полюбому мастдай, а тетрис не помешал бы... там тоже заковырок много... ну это чисто символически (аля правила: посылать в поиск - строго воспрещается)

значит так:

даже не могу представить, что в переключении может быть сложного...

берем переменную которая будет отвечать за тип заюзанного оружия. допустим weapon

присваиваем этой переменной изначально значение 0 (допустим код оружия "пистолет", код 1 будет "автомат".

а в теле главного цикла игры пишем

If KeyHit(57) Then weapon=1-weapon
итого получаем что при каждом нажатии пробела будет изменено значение переменной weapon то на ноль, то на 1

из этого уже можно кое-что выудить, но это еще не все... както нам надо перехватывать момент изменения оружия... для этого вводим дополнительную переменную, допустим "w" и присваиваем ей значение "weapon" до момента опроса клавиатуры на изменение оружия.

w=weapon
If KeyHit(57) Then weapon=1-weapon
теперь после этого пишем такое условие

If w<>weapon Then 
 
; здесь помещаем код изменяющий оружие на оружие с кодом 
;  хранящимся в переменной weapon

endif
вот впринципе и всего делов.

если нужно будет много оружий, не два а например 5, то программа превратится примерно в это:

w=weapon

 If KeyHit(200) Then 
  weapon=weapon+1
  If weapon>5 Then weapon=1
 EndIf

 If KeyHit(208) Then 
  weapon=weapon-1
  If weapon<1 Then weapon=5
 EndIf

If w<>weapon Then

 код по смене оружия, номер оружия в переменной weapon

EndIf
__________________
Как минимум я помог многим (с)
(Offline)
 
Ответить с цитированием
Старый 05.07.2006, 10:27   #3
smaller
Нуждающийся
 
Регистрация: 04.07.2006
Сообщений: 54
Написано 0 полезных сообщений
(для 0 пользователей)
Ну это мне понятно,Спасибо! А вот чтоб при выборе пистолета были выстрелы пистолета,как звуки добавлять каждому оружию
(Offline)
 
Ответить с цитированием
Старый 05.07.2006, 11:41   #4
SubZer0
Администратор
 
Аватар для SubZer0
 
Регистрация: 03.09.2005
Сообщений: 2,408
Написано 301 полезных сообщений
(для 996 пользователей)
Сообщение

теперь переменную weapon можно гденить в самом начале объявить глобальной, чтоб ее отовсюду (из всех функций) было видно, делается это так:

Global weapon
потом пишется функция стрельбы оружием:

If KeyHit(57) ;можно заюзать любую кнопку (чисто для примера пробел)

 Select weapon
  Case 0

; описание стрельбы пистолетными пулями

  Case 1

; описание стрельбы автоматными пулями

 End Select 
EndIf
теперь про звук:

чтобы воспроизвести звук, его, если он в другом формате, надо сперва привести в нормальный вид, тобишь переконвертировать в простой wav (Windows PCM).

далее его следует гденить в начале программы загрузить, делается это так:

Play=LoadSound("музыка.wav")
при этом файл звука должен лежать в каталоге с программой, если нет, то:
1. если в подкаталоге, то пишется относительный путь к файлу например "sounds/effect/shot.wav", таким образом становится неважно в каком каталоге лежит сама игра, звук будет воспроизведен в любом случае
2. если совсем в другом каталоге, то пишется полный путь начиная с диска например "c:\myprogs\game\sounds\shot.wav"

переменную Play нужно тоже объявить глобальной, чтоб ее отовсюду было видно, сделать это надо гденить в сааамом начале

Global Play
так, теперь мы звук загрузили. теперь переменная play содержит номер канала и таким образом "ссылку" на этот звук который теперь гдето в оперативной памяти. попробуем проиграть этот звук:

PlaySound Play
здесь просто указываем переменную в которую мы "загружали" звук командой LoadSound и всё


кроме этого есть еще команды:

StopChannel - остановить звук
PauseChannel - приостановить звук
ResumeChannel - возобновить приостановленный звук
ChannelPitch - изменить качество воспроизведения (частоту оцифровки)
ChannelVolume - установить громкость звука
ChannelPan - баланс (-1 левая колонка, 0 центр, 1 правая)
ChannelPlaying - посмотреть играет ли сейчас звук


__________________
Как минимум я помог многим (с)
(Offline)
 
Ответить с цитированием
Старый 05.07.2006, 14:34   #5
smaller
Нуждающийся
 
Регистрация: 04.07.2006
Сообщений: 54
Написано 0 полезных сообщений
(для 0 пользователей)
Огромное спасибо,очень полезная ветка получилась, многим новичкам пригодится!!!
(Offline)
 
Ответить с цитированием
Старый 05.07.2006, 14:46   #6
SubZer0
Администратор
 
Аватар для SubZer0
 
Регистрация: 03.09.2005
Сообщений: 2,408
Написано 301 полезных сообщений
(для 996 пользователей)
Смущение

Сообщение от smaller
Огромное спасибо,очень полезная ветка получилась, многим новичкам пригодится!!!
незачто, спрашивай если что... если не я, то тут есть еще куча народу которые ответят, а кто в поиск пошлет, того собственноручно застрелю из баномета ибо он нарушит первое святое правило.

PS

снизу каждого сообщения есть кнопочка "сказать спасибо" не забываем юзать если ктонить ченить комунить сделал полезное.
__________________
Как минимум я помог многим (с)
(Offline)
 
Ответить с цитированием
Старый 05.07.2006, 16:29   #7
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
http://www.boolean.name/forumdisplay.php?f=38
тут ещё перевод большого кол-ва команд.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 05.07.2006, 18:16   #8
..::SERGO::..
Знающий
 
Регистрация: 09.09.2005
Сообщений: 300
Написано 0 полезных сообщений
(для 0 пользователей)
PS

снизу каждого сообщения есть кнопочка "сказать спасибо" не забываем юзать если ктонить ченить комунить сделал полезное.
[megaofftop] высокая самооценка[/megaofftop]
(Offline)
 
Ответить с цитированием
Старый 05.07.2006, 23:47   #9
SubZer0
Администратор
 
Аватар для SubZer0
 
Регистрация: 03.09.2005
Сообщений: 2,408
Написано 301 полезных сообщений
(для 996 пользователей)
Радость

так!

не думаем, что теги offtop позволяют нам флудить если флудить то сюда

хммм.. а я думал, что я заслужил один клик мышью
__________________
Как минимум я помог многим (с)
(Offline)
 
Ответить с цитированием
Старый 06.07.2006, 01:06   #10
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
У тебя их и так больше всех.
Я тоже знаешь ли тут без дела не сижу за статью про ФПМ ни одного спс не видел..
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как переключить язык? sono Основной форум 9 23.12.2009 01:06
Переключение раскладки impersonalis Библиотеки 0 22.09.2008 00:59
Проблемы с переключением анимаций Belamore 3D-программирование 12 09.08.2007 13:39
Система переключения анимаций Vyacheslav 3D-программирование 0 16.01.2007 16:56
COM-порт: не переключается скорость ARV Основной форум 1 06.01.2007 04:34


Часовой пояс GMT +4, время: 18:21.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com