[B3D] Sachte Kameradrehung (Egoshooter)
Übersicht

timmeTheOnlyBetreff: [B3D] Sachte Kameradrehung (Egoshooter) |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi, ich will auch mal meinen Teil beitragen.
Dieser Code mach aus abgehackten Kameradrehungen eine ganz flüssige: Code: [AUSKLAPPEN] Dim mouse_smoothness_x#(5) Dim mouse_smoothness_y#(5) Global mouse_speed_x# = 0.4 Global mouse_speed_y# = 0.4 Global mouse_limit_left = GraphicsWidth() / 2 - 50 Global mouse_limit_right = GraphicsWidth() / 2 + 50 Global mouse_limit_top = GraphicsHeight() / 2 - 50 Global mouse_limit_bottom = GraphicsHeight() / 2 + 50 Global mouse_center_x = GraphicsWidth() / 2 Global mouse_center_y = GraphicsHeight() / 2 Function mouse_update() ; Variables Local i = 0 Local tmp_yaw# = 0, tmp_pitch# = 0 ; Turning For i = 5 To 2 Step -1 mouse_smoothness_x#(i) = mouse_smoothness_x#(i-1) mouse_smoothness_y#(i) = mouse_smoothness_y#(i-1) Next mouse_smoothness_x#(1) = MouseXSpeed() mouse_smoothness_y#(1) = MouseYSpeed() tmp_yaw# = ((mouse_smoothness_x#(1)+mouse_smoothness_x#(2)+mouse_smoothness_x#(3)+mouse_smoothness_x#(4)+mouse_smoothness_x#(5))/5)*mouse_speed_x# tmp_pitch# = ((mouse_smoothness_y#(1)+mouse_smoothness_y#(2)+mouse_smoothness_y#(3)+mouse_smoothness_y#(4)+mouse_smoothness_y#(5))/5)*mouse_speed_y# tmp_pitch# = EntityPitch#(player_pivot) + tmp_pitch# tmp_yaw# = EntityYaw#(player_pivot) - tmp_yaw# If tmp_pitch# > 90 Then tmp_pitch# = 90 If tmp_pitch# < -90 Then tmp_pitch# = -90 RotateEntity player_pivot, tmp_pitch#, tmp_yaw#, 0 ; Positioning If MouseX() < mouse_limit_left Or MouseX() > mouse_limit_right Or MouseY() < mouse_limit_top Or MouseY() > mouse_limit_bottom MoveMouse mouse_center_x, mouse_center_y EndIf End Function Idee stammt aus dem bb.com Codearchiv. Ist nur anders ausgeführt. Viel Spaß damit, aufdass wir bald immer eine flüssige Kamerasteuerung bekommen ^^ |
||
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
dankeschön...aber noch besser wäre es wenn du anstat playerpivot nen parameter cam hättest | ||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
timmeTheOnly |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Kein Problem:
Code: [AUSKLAPPEN] Dim mouse_smoothness_x#(5) Dim mouse_smoothness_y#(5) Global mouse_speed_x# = 0.4 Global mouse_speed_y# = 0.4 Global mouse_limit_left = GraphicsWidth() / 2 - 50 Global mouse_limit_right = GraphicsWidth() / 2 + 50 Global mouse_limit_top = GraphicsHeight() / 2 - 50 Global mouse_limit_bottom = GraphicsHeight() / 2 + 50 Global mouse_center_x = GraphicsWidth() / 2 Global mouse_center_y = GraphicsHeight() / 2 Function mouse_update(piv) ; Variables Local i = 0 Local tmp_yaw# = 0, tmp_pitch# = 0 ; Turning For i = 5 To 2 Step -1 mouse_smoothness_x#(i) = mouse_smoothness_x#(i-1) mouse_smoothness_y#(i) = mouse_smoothness_y#(i-1) Next mouse_smoothness_x#(1) = MouseXSpeed() mouse_smoothness_y#(1) = MouseYSpeed() tmp_yaw# = ((mouse_smoothness_x#(1)+mouse_smoothness_x#(2)+mouse_smoothness_x#(3)+mouse_smoothness_x#(4)+mouse_smoothness_x#(5))/5)*mouse_speed_x# tmp_pitch# = ((mouse_smoothness_y#(1)+mouse_smoothness_y#(2)+mouse_smoothness_y#(3)+mouse_smoothness_y#(4)+mouse_smoothness_y#(5))/5)*mouse_speed_y# tmp_pitch# = EntityPitch#(piv) + tmp_pitch# tmp_yaw# = EntityYaw#(piv) - tmp_yaw# If tmp_pitch# > 90 Then tmp_pitch# = 90 If tmp_pitch# < -90 Then tmp_pitch# = -90 RotateEntity piv, tmp_pitch#, tmp_yaw#, 0 ; Positioning If MouseX() < mouse_limit_left Or MouseX() > mouse_limit_right Or MouseY() < mouse_limit_top Or MouseY() > mouse_limit_bottom MoveMouse mouse_center_x, mouse_center_y EndIf End Function [EDIT2] Ausgebessert... |
||
- Zuletzt bearbeitet von timmeTheOnly am Fr, Jan 11, 2008 16:52, insgesamt einmal bearbeitet
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
biste sicher das das funzt???
Zitat: tmp_pitch# = EntityPitch#(player_pivot) + tmp_pitch#
tmp_yaw# = EntityYaw#(player_pivot) - tmp_yaw# |
||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group