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

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

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

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

Ответ
 
Опции темы
Старый 26.11.2006, 19:21   #1
Тарас Шевченко
Знающий
 
Регистрация: 17.08.2006
Сообщений: 246
Написано 0 полезных сообщений
(для 0 пользователей)
Исправьте код

Привет всем. Учу Блитц 3Д и для изучения решил написать простенькую стрелялку дабы набраться опыта.
1 - Посмотрите мой код и скажите как сделать чтобы анимация останавливалась.
2 - Подскажите как сделать поворот мышкой? И пробовал типа if mouse(x) но у меня чето не выходит.

Хочу камеру на подобии GTA: San Andreas.
(Offline)
 
Ответить с цитированием
Старый 27.11.2006, 18:16   #2
НУБ
Бывалый
 
Регистрация: 22.09.2005
Сообщений: 634
Написано 36 полезных сообщений
(для 102 пользователей)
Re: Исправьте код

Ты волшебное слово забыл
(Offline)
 
Ответить с цитированием
Старый 27.11.2006, 18:18   #3
Diplomat
Дэвелопер
 
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений
(для 164 пользователей)
Re: Исправьте код

1.За анимацию отвечает отдельный кусок кода. Клавишами лишь задавай ему режимы работы.
AnimMode=0
IF KeyDown(Key)=1 THEN ;Move
     MoveEntity...
     AnimMode=1
END IF
IF AnimMode=0 THEN Animate... ;Idle anim
IF AnimMode=1 THEN Animate... ;Move anim
2.
TurnEntity Entity, MouseYSpeed()*SensY, MouseXSpeed()*SensX,-EntityRoll(Entity)
В дисциплинарном плане:
0. Темы мусолились на форуме не раз. Достаточно заюзать Поиск
1. Не надо флудить. Если не отвечают- значит ответят позже. Если позже не ответили- значит такой был вопрос.

Удач!

P.S. 2НУБ: Опередил меня! Волшебное слово было "ВПОИСКБЫСТРОНАХ!!!", я полагаю?
(Offline)
 
Ответить с цитированием
Старый 27.11.2006, 18:24   #4
jimon
 
Сообщений: n/a
Re: Исправьте код

для людей же зделано
http://boolean.name/showthread.php?t=15


млин опередили меня
 
Ответить с цитированием
Старый 02.12.2006, 18:20   #5
Тарас Шевченко
Знающий
 
Регистрация: 17.08.2006
Сообщений: 246
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Исправьте код

Для поворота мышкой пробовал:
If MouseX()>0 Then
TurnEntity cub,0,-1,0
Else
TurnEntity cub,0,1,0
EndIf

получилось, но когда поворачиваешь поворот не останавливается. Что делать?
(Offline)
 
Ответить с цитированием
Старый 02.12.2006, 18:32   #6
jimon
 
Сообщений: n/a
Re: Исправьте код

не MouseX а там команда со скоростью ... MouseXSpeed вроде или чето того
 
Ответить с цитированием
Старый 02.12.2006, 22:19   #7
KRIK
Бывалый
 
Регистрация: 19.09.2005
Сообщений: 649
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Исправьте код

Мне кажется (если я тебя прально понял) тебе стоит после

Repeat


Написать следующий код:
angy#=-MouseYSpeed()*0.1
TurnEntity cam,angy#,0,0
angx#=-MouseXSpeed()*0.1
TurnEntity cub,0,angx#,0
MoveMouse GraphicsWidth()*0.5, GraphicsHeight()*0.5
Далее я думаю тебе не составит труда поставить ограничения по осям, да и скорость вращения.
(Offline)
 
Ответить с цитированием
Старый 03.12.2006, 13:52   #8
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Исправьте код

Сообщение от Тарас Шевченко
Для поворота мышкой пробовал:
If MouseX()>0 Then
TurnEntity cub,0,-1,0
Else
TurnEntity cub,0,1,0
EndIf

получилось, но когда поворачиваешь поворот не останавливается. Что делать?
как ЭТО могло получится.
я в ШОКЕ.
я так понимаю, это куб поворачивается в одну сторону если мыш прижат к левой стенке монитора и в другую если не прижат
:DF 20 F4 20 D8 CE CA C5 20 CD C0 D5 2E:
(Offline)
 
Ответить с цитированием
Старый 03.12.2006, 16:14   #9
KRIK
Бывалый
 
Регистрация: 19.09.2005
Сообщений: 649
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Исправьте код

2HolyDel
Ну чё тут удивляться-то ??? Человек начал изучать БЛИТС.. А при начале изучения можно ещё и не такое написать!
(Offline)
 
Ответить с цитированием
Старый 06.12.2006, 15:18   #10
Тарас Шевченко
Знающий
 
Регистрация: 17.08.2006
Сообщений: 246
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Исправьте код

Мышкой попробую сам разобраться, а остановку анимации ну хоть убейте - не могу! Помогите исправьте сам код чтобы у вас все работало, а я что только не делал. Плиз, помогите!
(Offline)
 
Ответить с цитированием
Старый 06.12.2006, 20:13   #11
Тарас Шевченко
Знающий
 
Регистрация: 17.08.2006
Сообщений: 246
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Исправьте код

Сообщение от KRIK
Мне кажется (если я тебя прально понял) тебе стоит после

Repeat


Написать следующий код:
angy#=-MouseYSpeed()*0.1
TurnEntity cam,angy#,0,0
angx#=-MouseXSpeed()*0.1
TurnEntity cub,0,angx#,0
MoveMouse GraphicsWidth()*0.5, GraphicsHeight()*0.5
Далее я думаю тебе не составит труда поставить ограничения по осям, да и скорость вращения.
Да, спасибо KRIK, это именно то, что мне нужно! Но как поставить ограничения по осям? C можешь переделать мой код, чтобы например при отпускании клавиши вперед анимация ходьбы отключалась?
(Offline)
 
Ответить с цитированием
Старый 06.12.2006, 20:27   #12
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Re: Исправьте код

запутался в коде =/
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 06.12.2006, 21:23   #13
KRIK
Бывалый
 
Регистрация: 19.09.2005
Сообщений: 649
Написано 3 полезных сообщений
(для 3 пользователей)
Re: Исправьте код

2Тарас Шевченко
 
angy#=-MouseYSpeed()*0.2
m=m+angy#
If m>20 Then m=20
If m<-20 Then m=-20
RotateEntity cam,m,0,0
angx#=-MouseXSpeed()*0.1
TurnEntity cub,0,angx#,0
MoveMouse GraphicsWidth()*0.5, GraphicsHeight()*0.5
Вот тут ограничения по оси У! Чтобы изменить ограничение поменяй в условии с переменной m (где написанно 20) на любое нужное число.
На счёт анимации, надо глянуть, ща времени нет.
(Offline)
 
Ответить с цитированием
Старый 06.12.2006, 22:48   #14
Тарас Шевченко
Знающий
 
Регистрация: 17.08.2006
Сообщений: 246
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Исправьте код

2 KRIK: спасибо! Как будет время помоги с анимацией.
(Offline)
 
Ответить с цитированием
Старый 07.12.2006, 03:04   #15
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Исправьте код

If KeyHit(17) Animate cub,2,.5,walk
If KeyHit(31) Animate cub,2,.5,walk
If KeyDown(17)=0 And KeyDown(31)=0 And AnimSeq(cub)<>stand And AnimSeq(cub)<>shot Then Animate cub,2,.3,stand
If Animating(cub)=0 Then Animate cub,2,.3,stand
If MouseHit(1) Animate cub,3,.5,shot
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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