forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   НУ СРОЧНО НУЖНА ПОМОЩЬ! (http://forum.boolean.name/showthread.php?t=101)

KRIK 21.09.2005 04:29

Жека! ну всё практически, как я и хотел(ну чучуть надо настроить)!!! :bravo:
А на счёт SubZer0 (zoom) я тоже прикол в игре придумал!!! :bravo:

НУ ВООБЩЕМ НАЧАЛО ИГРЫ УЖЕ ЕСТЬ! :)) :super:

KRIK 21.09.2005 13:46

ДА, я так и знал , что это не последний вопрос по этому коду:

Как в коде ЖЕКИ сделать вместо
Код:

If KeyDown(44) Then TranslateEntity cam,0,-0.5,0
If KeyDown(45) Then TranslateEntity cam,0,0.5,0
If KeyDown (46) Then MoveEntity cam,0,0,-1
If KeyDown(47) Then MoveEntity cam,0,0,1

чтоб это всё мышкой управлялось.

Не знаю раньше получалось, а ща пустить под мышку не могу :SOS:

KRIK 21.09.2005 15:18

НУ чё никто не знает?

SubZer0 21.09.2005 15:53

ты про это?

Код:

angy#=MouseYSpeed()*0.5
moveEntity cam, 0, angy, 0

angz#=MouseZSpeed()
moveentity cam,0,0,angz

MoveMouse GraphicsWidth()*0,5, GraphicsHeight()*0,5

;)

KRIK 22.09.2005 14:50

Там про это говорят, что заданно много параметров (Too many parameters вроде так) и ещё когда мышкой из стороны в сторону двигаешь,КАМЕРА удаляется от оъекта :( .


Цитата:

angy#=MouseYSpeed()*0.5
moveEntity cam, 0, angy, 0

angz#=MouseZSpeed()
moveentity cam,0,0,angz
MoveMouse GraphicsWidth()*0,5, GraphicsHeight()*0,5


KRIK 22.09.2005 14:53

Ну кто - что предложит???

KRIK 22.09.2005 14:55

Цитата:

и ещё когда мышкой из стороны в сторону двигаешь,КАМЕРА удаляется от оъекта .


СМЫСЛЕ если MoveMouse GraphicsWidth()*0,5, GraphicsHeight()*0,5 заменить на MoveMouse GraphicsWidth()/2, GraphicsHeight()/2

SubZer0 22.09.2005 15:08

сильно много параметров потому, что там запятые стоят... (эт я уже в броузере поставил... косяк)

Код:

angy#=MouseYSpeed()*0.5
moveEntity cam, 0, angy, 0

angz#=MouseZSpeed()
moveentity cam,0,0,angz
MoveMouse GraphicsWidth()*0.5, GraphicsHeight()*0.5

:)

Жека 22.09.2005 15:12

Блин, зырь внимательнее:

Цитата:

MoveMouse GraphicsWidth()*0,5, GraphicsHeight()*0,5
SubZer0 допустил опечатку, вместо точек написал запятые в числа 0(запятая)5, а надо 0(точка)5. А ты сразу делить...

Напрягай мозги !(это не оскорбление).
Ко всему готовому быстро привыкаешь, а пользы от этого потом станет не ноль, а еще меньше!

Жека 22.09.2005 15:13

Ответ появился пока я писал...

KRIK 22.09.2005 15:29

Да прикинь и я забыл про это и тоже писал запятыми и до того как мне написали этот пример неправельный :lol: .Ну не чё буду внимательней! :))

KRIK 22.09.2005 15:37

Стоп! :blink: А чё сделать то чтоб камера вверх не двигалась при движении мышки???(Вверх ну примерно с каждым движением на 0.3)???

Жека 22.09.2005 16:38

xxxKRIKxxx! Я предлагаю тебе самому во всем разобраться.
Т.е. ты пробуешь сделать и так и сяк, если не выходит то_что_хочешь, пиши в форум, а то некрасиво получается, когда каждую "мелочь" спрашиваешь, до решения которой и сам мог дойти...

KRIK 26.09.2005 04:51

Не понимаю почему камера постепенно двигается вверх при этом коде :'((
Хотел c начала это заменять и TurnEntity и RotateEntity но т.к. в моём коде есть
PointEntity это не пройдёт.Да довольно тупой вопрос покажется для кого-то,но я новичок в Blitz3D.


Чем можно заменить или как исправить этот код чтоб ВСЁТАКИ камера не двигалась вверх(не забывайти что есть PointEntity камеры на робота)???Если вы не чё ни понимаете,то возьмити и на примере сами попробуйте вставить этот код и резко поводить мышкой,вы увидите как камера постепенно двигается вверх. :SOS:

Код:

angy#=MouseYSpeed()*0.5
moveEntity cam, 0, angy, 0


Жека 26.09.2005 06:48

Цитата:

angy#=MouseYSpeed()*0.5
moveEntity cam, 0, angy, 0

Так тут ты сам двигаешь ее по оси Y....
У SubZero было moveentity cam,0,0,angz - то есть он двигал по Z.
Но так как камера стоит не горизонтально из-зи ПоинтЕнтити, то она вверх-вних двигалась.

Чтобы проще было работать с камерой, сделай для нее свою систему координат - Pivot

camPiv = createpivot()
cam = createcamera(camPiv)

Теперь у тебя камера будет двигаться относительно camPiv.
Вместо передвижения камеры теперь передвигай camPiv, а саму камеру только поворачивай:

d_yaw# = entityyaw(camPiv,player) ;точно не помню название команды, вобщем она должна возвращать угол между игроком и камерой по оси Y
turnentity camPiv,0,d_yaw#,0
pointentity cam,player

Так ты повернешь canPiv мордой к игроку ТОЛЬКО по оси Y, это надо чтобы потом двигать его по Z (вобщем, в ГОРИЗОНТАЛЬНОЙ плоскости), а камера будет смотреть на игрока как раньше (должна ;) )

Если теперь тебе надо двигать камеру, то двигай camPiv
angy#=MouseYSpeed()*0.5
1. moveEntity camPiv, 0, angy, 0 - вверх / вниз
2. moveEntity camPiv, 0, 0, angy - ближе / дальше по отношению к игроку

Раз тебе не надо вверх, то используй 2.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot