forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Управление камерой (http://forum.boolean.name/showthread.php?t=7414)

Razor 04.12.2008 23:15

Управление камерой
 
Прошу сильно не бить :p за тупость но всё же. У меня есть код типа
Цитата:

..Основной цикл
While Not KeyDown(1)

;описание нажатия кнопок
If KeyDown(200) MoveEntity player, 0, 0, 0.2
If KeyDown(208) MoveEntity player, 0, 0, -0.2
If KeyDown(203) TurnEntity player, 0, 2, 0
If KeyDown(205) TurnEntity player, 0, -2, 0

;занесение инфы о столкновении, в дальнейшем для открывания дверей
entitywall% = EntityCollided(Player,TypeWall)
entitydoor% = EntityCollided(Player,TypeDoor)
CollideDoors(entitydoor)
UpdateDoors
UpdateWorld
RenderWorld
Text 12,10, "Entity Wall: "+Str(entitywall)
Text 12,20, "Entity Door: "+Str(entitydoor)
Flip
Wend
End
Проблема в том что я незнаю как запихнуть в этот фрагмент кода событие об управлении камерой с помощью мыши (вот сам код):
Цитата:

Начало
mouse_centrx= GraphicsWidth()/2
mouse_centry= GraphicsHeight()/2
Основной цикл
While Not KeyDown(1)
sys_time1%=MilliSecs()
If KeyDown(17) Then
MoveEntity player,0,0,1
EndIf
If KeyDown(30) MoveEntity player,0,1,0
If KeyDown(44) MoveEntity player,0,-1,0
dy#=MouseYSpeed()
dx#=MouseXSpeed()
dx#=dx#/10
dy#=dy#/10
x#=x#+dx#
y#=y#+dy#
If x#>360 Then
x#=x#-360
End If
If x#<-360 Then
x#=x#+360
End If
RotateEntity ZOMBIE1,0,-x#,0
RotateEntity cam,y#,0,0
MoveMouse mouse_centrx,mouse_centry
UpdateWorld()
RenderWorld()
Text 20,20,e
Text 10,36,"DELAY "+(16-sys_delta_time%)
Flip 0
sys_time2%=MilliSecs()
sys_delta_time%=(sys_time2%-sys_time1%)
If sys_delta_time%<tik Then
Delay (tik-sys_delta_time%)
EndIf
Wend
End
Что-то вроде этого..
Подскажите как это сделать :SOS: :wallbash:


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

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