parent
2350c98af9
commit
d26ec0da5c
9 changed files with 343 additions and 178 deletions
|
@ -114,118 +114,115 @@ msgid "OPTION_DEFINE_INPUT/MESSAGE_JOYPAD"
|
|||
msgstr "Please select your button joypad"
|
||||
|
||||
msgid "INPUT_ACTION_UP"
|
||||
msgstr ""
|
||||
msgstr "Up"
|
||||
|
||||
msgid "INPUT_ACTION_DOWN"
|
||||
msgstr ""
|
||||
msgstr "Down"
|
||||
|
||||
msgid "INPUT_ACTION_LEFT"
|
||||
msgstr ""
|
||||
msgstr "Left"
|
||||
|
||||
msgid "INPUT_ACTION_RIGHT"
|
||||
msgstr ""
|
||||
msgstr "Right"
|
||||
|
||||
msgid "INPUT_ACTION_STRAFE_LEFT"
|
||||
msgstr ""
|
||||
msgstr "Strafe Left"
|
||||
|
||||
msgid "INPUT_ACTION_STRAFE_RIGHT"
|
||||
msgstr ""
|
||||
msgstr "Strafe Right"
|
||||
|
||||
msgid "INPUT_ACTION_RUN"
|
||||
msgstr ""
|
||||
msgstr "Run"
|
||||
|
||||
msgid "INPUT_ACTION_AUTO_UP"
|
||||
msgstr ""
|
||||
msgstr "Auto move"
|
||||
|
||||
msgid "INPUT_ACTION_SIT_DOWN"
|
||||
msgstr ""
|
||||
msgstr "Sit down"
|
||||
|
||||
msgid "INPUT_ACTION_FLY"
|
||||
msgstr ""
|
||||
msgstr "Fly"
|
||||
|
||||
msgid "INPUT_ACTION_ENTER_VEHICLE"
|
||||
msgstr ""
|
||||
msgstr "Enter in vehicle"
|
||||
|
||||
msgid "INPUT_VIEW_CAMERA_LEFT"
|
||||
msgstr ""
|
||||
msgstr "Camera Left"
|
||||
|
||||
msgid "INPUT_VIEW_CAMERA_RIGHT"
|
||||
msgstr ""
|
||||
msgstr "Camera Right"
|
||||
|
||||
msgid "INPUT_VIEW_CAMERA_UP"
|
||||
msgstr ""
|
||||
msgstr "Camera Up"
|
||||
|
||||
msgid "INPUT_VIEW_CAMERA_DOWN"
|
||||
msgstr ""
|
||||
msgstr "Camera Down"
|
||||
|
||||
msgid "INPUT_VIEW_UP"
|
||||
msgstr ""
|
||||
msgstr "View Up"
|
||||
|
||||
msgid "INPUT_VIEW_DOWN"
|
||||
msgstr ""
|
||||
msgstr "View Down"
|
||||
|
||||
msgid "INPUT_VIEW_FRONT"
|
||||
msgstr ""
|
||||
msgstr "View front"
|
||||
|
||||
msgid "INPUT_VIEW_BACK"
|
||||
msgstr ""
|
||||
msgstr "View back"
|
||||
|
||||
msgid "INPUT_VIEW_CAMERA_FPS_TPS"
|
||||
msgstr ""
|
||||
msgstr "First person / Third person"
|
||||
|
||||
msgid "INPUT_VIEW_SCREENSHOT"
|
||||
msgstr ""
|
||||
msgstr "Screenshot"
|
||||
|
||||
msgid "INPUT_VIEW_ZOOM_IN"
|
||||
msgstr ""
|
||||
msgstr "Zoom in"
|
||||
|
||||
msgid "INPUT_VIEW_ZOOM_OUT"
|
||||
msgstr ""
|
||||
msgstr "Zoom out"
|
||||
|
||||
msgid "CONTROL_VIEW_BY_GROUP"
|
||||
msgstr ""
|
||||
msgstr "By Group"
|
||||
|
||||
#, fuzzy
|
||||
msgid "CONTROL_VIEW_BY_INPUT"
|
||||
msgstr "Sort by input"
|
||||
msgstr "by input"
|
||||
|
||||
msgid "CONTROL_VIEW_BY_INPUT_SORTED"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "CONTROL_INPUT_ACTION"
|
||||
msgstr "Cancel"
|
||||
|
||||
#, fuzzy
|
||||
msgid "CONTROL_INPUT_VIEW"
|
||||
msgstr "Cancel"
|
||||
|
||||
#, fuzzy
|
||||
msgid "CONTROL_INPUT_OTHER"
|
||||
msgstr "Cancel"
|
||||
|
||||
#, fuzzy
|
||||
msgid "CONTROL_ADD_INPUT"
|
||||
msgstr "Sort by input"
|
||||
|
||||
#, fuzzy
|
||||
msgid "CONTROL_INPUT_ACTION"
|
||||
msgstr "Action"
|
||||
|
||||
msgid "CONTROL_INPUT_VIEW"
|
||||
msgstr "View"
|
||||
|
||||
msgid "CONTROL_INPUT_OTHER"
|
||||
msgstr "Other"
|
||||
|
||||
msgid "CONTROL_ADD_INPUT"
|
||||
msgstr "Add"
|
||||
|
||||
msgid "CONTROL_DEL_INPUT"
|
||||
msgstr "Cancel"
|
||||
msgstr "Del"
|
||||
|
||||
msgid "BUTTON_RIGHT"
|
||||
msgstr ""
|
||||
msgstr "Button Right"
|
||||
|
||||
msgid "BUTTON_LEFT"
|
||||
msgstr ""
|
||||
msgstr "Button Left"
|
||||
|
||||
msgid "BUTTON_WHEEL_UP"
|
||||
msgstr ""
|
||||
msgstr "Button wheel up"
|
||||
|
||||
msgid "BUTTON_WHEEL_DOWN"
|
||||
msgstr ""
|
||||
msgstr "Button wheel down"
|
||||
|
||||
msgid "INPUT_VIEW_CAMERA_MOVE_PLAYER_FOLLOW"
|
||||
msgstr ""
|
||||
msgstr "Camera move and player follow"
|
||||
|
||||
msgid "INPUT_VIEW_CAMERA_MOVE_ONLY"
|
||||
msgstr ""
|
||||
msgstr "Camera move only"
|
||||
|
||||
msgid "INPUT_ACTION_JUMP"
|
||||
msgstr "Jump"
|
||||
|
|
|
@ -223,3 +223,6 @@ msgstr "Déplacer la caméra et le joueur suit"
|
|||
|
||||
msgid "INPUT_VIEW_CAMERA_MOVE_ONLY"
|
||||
msgstr "Déplacer la caméra seulement"
|
||||
|
||||
msgid "INPUT_ACTION_JUMP"
|
||||
msgstr "Sauter"
|
||||
|
|
|
@ -215,3 +215,5 @@ msgstr ""
|
|||
msgid "INPUT_VIEW_CAMERA_MOVE_ONLY"
|
||||
msgstr ""
|
||||
|
||||
msgid "INPUT_ACTION_JUMP"
|
||||
msgstr ""
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
342
player/player.gd
342
player/player.gd
|
@ -23,6 +23,10 @@ const ZOOM_STEP_Y = 0.05
|
|||
const ZOOM_STEP_Z = 0.1
|
||||
const ZOOM_MIN_Z = 0.2
|
||||
const ZOOM_MAX_Z = 3.0
|
||||
const ZOOM_DEFAULT = 1.0
|
||||
|
||||
const CAMERA_ROTATE_STEP_X = 0.02
|
||||
const CAMERA_ROTATE_STEP_Y = 0.02
|
||||
|
||||
const SPEED_ROTATE = PI
|
||||
const PI_2 = PI / 2.0
|
||||
|
@ -35,20 +39,25 @@ const FACTOR_WALK_WATER = 0.3
|
|||
const MUL_SPEED_STEP = 0.2
|
||||
const SPEED_COLLIDED = 0.0001
|
||||
|
||||
const MOVE_CAMERA_Y_STEP = 0.1
|
||||
const MOVE_CAMERA_Y_MIN = -2.0
|
||||
const MOVE_CAMERA_Y_MAX = 2.0
|
||||
|
||||
# Get the gravity from the project settings to be synced with RigidDynamicBody nodes.
|
||||
var gravity = ProjectSettings.get_setting("physics/3d/default_gravity")
|
||||
var starting_point = Vector2(DisplayServer.window_get_size().x / 2, DisplayServer.window_get_size().y / 2)
|
||||
# Camera position
|
||||
var camera_rotate_y = 0.0
|
||||
var camera_rotate_x = 0.0
|
||||
var camera_position_y = 0.0
|
||||
# Player position
|
||||
var player_rotate_y = 0.0
|
||||
var player_rotate_x = 0.0
|
||||
# Activate reconciliation between camera & player
|
||||
var reconciliate_rotate_camera_player:bool = true
|
||||
var reconciliate_rotate_camera_player:bool = false
|
||||
# Player run
|
||||
var is_run:bool = false
|
||||
var zoom:float = 1.0
|
||||
var zoom:float = ZOOM_DEFAULT
|
||||
var tps:bool = true
|
||||
var animation_object:AnimationPlayer = null
|
||||
|
||||
|
@ -216,7 +225,7 @@ func _input(event):
|
|||
|
||||
|
||||
func _input_in_ship(event):
|
||||
if Input.is_action_just_pressed("board_ship"):
|
||||
if Input.is_action_just_pressed("INPUT_ACTION_ENTER_VEHICLE"):
|
||||
on_ship = false
|
||||
player_sit = false
|
||||
return
|
||||
|
@ -224,7 +233,7 @@ func _input_in_ship(event):
|
|||
|
||||
func _input_player(event):
|
||||
# Managed zoom (FPS or TPS)
|
||||
if near_boat != null and Input.is_action_just_pressed("board_ship"):
|
||||
if near_boat != null and Input.is_action_just_pressed("INPUT_ACTION_ENTER_VEHICLE", true):
|
||||
on_ship = true
|
||||
player_sit = true
|
||||
# emit_signal("switch_to_ship", near_boat)
|
||||
|
@ -242,10 +251,58 @@ func _input_player(event):
|
|||
#ranslate(diff)
|
||||
# translate(ship_pos)
|
||||
global_translate(diff)
|
||||
|
||||
print("res:", get_global_transform().origin)
|
||||
Common.msg_debug("res:" + str(get_global_transform().origin))
|
||||
return
|
||||
if Input.is_action_just_pressed("switch_fps_tps"):
|
||||
if tps:
|
||||
var pos:Vector3 = $camera_root.get_position()
|
||||
var step_y = (Input.get_action_strength("INPUT_VIEW_UP", true) - Input.get_action_strength("INPUT_VIEW_DOWN", true)) * MOVE_CAMERA_Y_STEP
|
||||
if step_y != 0.0 and camera_position_y + step_y <= MOVE_CAMERA_Y_MAX and camera_position_y + step_y >= MOVE_CAMERA_Y_MIN:
|
||||
pos.y += step_y
|
||||
camera_position_y += step_y
|
||||
$camera_root.set_position(pos)
|
||||
if Input.is_action_pressed("INPUT_VIEW_FRONT", true):
|
||||
if tps:
|
||||
# Recover rotate Y
|
||||
$camera_root/horizontal_root.rotate_y( player_rotate_y - camera_rotate_y )
|
||||
camera_rotate_y = player_rotate_y
|
||||
# Recover rotate X
|
||||
$camera_root/horizontal_root/vertical_root.rotate_x( player_rotate_x - camera_rotate_x )
|
||||
camera_rotate_x = player_rotate_x
|
||||
# Recover zoom
|
||||
var curzoom = zoom - ZOOM_DEFAULT
|
||||
var fac = curzoom / ZOOM_STEP_Z
|
||||
var zoom3D:Vector3 = Vector3(0.0, -fac * ZOOM_STEP_Y, -curzoom)
|
||||
zoom = ZOOM_DEFAULT
|
||||
$camera_root/horizontal_root/vertical_root/Camera3D_TPS.translate_object_local(zoom3D)
|
||||
# Position Camera on Y
|
||||
var pos:Vector3 = $camera_root.get_position()
|
||||
pos.y -= camera_position_y
|
||||
$camera_root.set_position( pos )
|
||||
camera_position_y = 0.0
|
||||
elif Input.is_action_pressed("INPUT_VIEW_BACK", true):
|
||||
if tps:
|
||||
# Recover rotate Y
|
||||
$camera_root/horizontal_root.rotate_y( player_rotate_y - camera_rotate_y + PI )
|
||||
camera_rotate_y = player_rotate_y + PI
|
||||
if camera_rotate_y > PI:
|
||||
camera_rotate_y -= TAU
|
||||
elif camera_rotate_y <= -PI:
|
||||
camera_rotate_y += TAU
|
||||
# Recover rotate X
|
||||
$camera_root/horizontal_root/vertical_root.rotate_x( player_rotate_x - camera_rotate_x )
|
||||
camera_rotate_x = player_rotate_x
|
||||
# Recover zoom
|
||||
var curzoom = zoom - ZOOM_DEFAULT
|
||||
var fac = curzoom / ZOOM_STEP_Z
|
||||
var zoom3D:Vector3 = Vector3(0.0, -fac * ZOOM_STEP_Y, -curzoom)
|
||||
zoom = ZOOM_DEFAULT
|
||||
$camera_root/horizontal_root/vertical_root/Camera3D_TPS.translate_object_local(zoom3D)
|
||||
# Position Camera on Y
|
||||
var pos:Vector3 = $camera_root.get_position()
|
||||
pos.y -= camera_position_y
|
||||
$camera_root.set_position( pos )
|
||||
camera_position_y = 0.0
|
||||
if Input.is_action_just_pressed("INPUT_VIEW_CAMERA_FPS_TPS", true):
|
||||
if tps:
|
||||
camera_fps.rotate_x( -player_rotate_x )
|
||||
player_rotate_x = 0
|
||||
|
@ -259,7 +316,7 @@ func _input_player(event):
|
|||
reconciliate_rotate_camera_player = true
|
||||
tps = true
|
||||
$camera_root/horizontal_root/vertical_root/Camera3D_TPS.make_current()
|
||||
if Input.is_action_pressed("camera_zoom_in"):
|
||||
if Input.is_action_pressed("INPUT_VIEW_ZOOM_IN", true):
|
||||
if tps:
|
||||
if zoom > ZOOM_MIN_Z:
|
||||
zoom -= ZOOM_STEP_Z
|
||||
|
@ -274,7 +331,7 @@ func _input_player(event):
|
|||
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
|
||||
$camera_root/horizontal_root.rotate_y( player_rotate_y - camera_rotate_y )
|
||||
camera_rotate_y = player_rotate_y
|
||||
elif Input.is_action_pressed("camera_zoom_out"):
|
||||
elif Input.is_action_pressed("INPUT_VIEW_ZOOM_OUT", true):
|
||||
if not tps:
|
||||
# Reposition camera TPS back to player
|
||||
reconciliate_rotate_camera_player = true
|
||||
|
@ -286,11 +343,11 @@ func _input_player(event):
|
|||
else:
|
||||
var zoom3D:Vector3 = Vector3(0.0, ZOOM_STEP_Y, ZOOM_STEP_Z)
|
||||
$camera_root/horizontal_root/vertical_root/Camera3D_TPS.translate_object_local(zoom3D)
|
||||
elif Input.is_action_just_pressed("player_sit"):
|
||||
elif Input.is_action_just_pressed("INPUT_ACTION_SIT_DOWN", true):
|
||||
player_sit = not player_sit
|
||||
elif Input.is_action_just_pressed("player_automove"):
|
||||
elif Input.is_action_just_pressed("INPUT_ACTION_AUTO_UP", true):
|
||||
player_automove = not player_automove
|
||||
elif Input.is_action_just_pressed("switch_state_player"):
|
||||
elif Input.is_action_just_pressed("INPUT_ACTION_FLY", true):
|
||||
match state_player:
|
||||
StatePlayer.WALK:
|
||||
switch_state(StatePlayer.FLY)
|
||||
|
@ -300,18 +357,43 @@ func _input_player(event):
|
|||
# If right mouse button is pressed and mouse moves, pan horizontally camera
|
||||
# and rotate vertically
|
||||
if tps:
|
||||
if Input.is_action_just_pressed ( "ui_strafe" ):
|
||||
reconciliate_rotate_camera_player = false
|
||||
Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN)
|
||||
elif Input.is_action_just_released ( "ui_strafe" ):
|
||||
if Input.is_action_pressed("INPUT_VIEW_CAMERA_MOVE_PLAYER_FOLLOW"):
|
||||
reconciliate_rotate_camera_player = true
|
||||
Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN)
|
||||
elif Input.is_action_pressed("INPUT_VIEW_CAMERA_MOVE_ONLY"):
|
||||
reconciliate_rotate_camera_player = false
|
||||
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
|
||||
if Input.is_action_just_pressed( "move_run" ):
|
||||
is_run = true
|
||||
elif Input.is_action_just_released( "move_run" ):
|
||||
is_run = false
|
||||
else:
|
||||
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
|
||||
# if Input.is_action_just_pressed ( "ui_strafe" ):
|
||||
# reconciliate_rotate_camera_player = false
|
||||
# Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN)
|
||||
# elif Input.is_action_just_released ( "ui_strafe" ):
|
||||
# reconciliate_rotate_camera_player = true
|
||||
# Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
|
||||
# if Input.is_action_just_pressed( "move_run" ):
|
||||
# is_run = true
|
||||
# elif Input.is_action_just_released( "move_run" ):
|
||||
# is_run = false
|
||||
if Input.is_action_just_released("INPUT_ACTION_RUN", true):
|
||||
is_run = !is_run
|
||||
|
||||
if Input.is_mouse_button_pressed( 2 ):
|
||||
if tps:
|
||||
var camx = (Input.get_action_strength("INPUT_VIEW_CAMERA_UP", true) - Input.get_action_strength("INPUT_VIEW_CAMERA_DOWN", true)) * CAMERA_ROTATE_STEP_X
|
||||
var new_camera_rotate_x = camera_rotate_x + camx
|
||||
if new_camera_rotate_x <= PI_2 and new_camera_rotate_x >= - PI_2:
|
||||
$camera_root/horizontal_root/vertical_root.rotate_x( camx )
|
||||
camera_rotate_x = new_camera_rotate_x
|
||||
var camy = (Input.get_action_strength("INPUT_VIEW_CAMERA_LEFT", true) - Input.get_action_strength("INPUT_VIEW_CAMERA_RIGHT", true)) * CAMERA_ROTATE_STEP_Y
|
||||
camera_rotate_y -= camy
|
||||
if camera_rotate_y > PI:
|
||||
camera_rotate_y -= TAU
|
||||
elif camera_rotate_y <= -PI:
|
||||
camera_rotate_y += TAU
|
||||
$camera_root/horizontal_root.rotate_y( -camy )
|
||||
|
||||
if Input.is_action_pressed("INPUT_VIEW_CAMERA_MOVE_PLAYER_FOLLOW") or Input.is_action_pressed("INPUT_VIEW_CAMERA_MOVE_ONLY"):
|
||||
# if Input.is_mouse_button_pressed( 2 ):
|
||||
if event is InputEventMouseMotion:
|
||||
if tps:
|
||||
camera_rotate_y -= event.relative.x *0.01
|
||||
|
@ -386,28 +468,37 @@ func _physics_process_walk(delta):
|
|||
motion_velocity.y -= gravity * delta
|
||||
|
||||
# Handle Jump.
|
||||
if !jump_disabled and Input.is_action_just_pressed("ui_accept") and is_on_floor():
|
||||
if !jump_disabled and Input.is_action_just_pressed("INPUT_ACTION_JUMP") and is_on_floor():
|
||||
motion_velocity.y = JUMP_FORCE
|
||||
jump_disabled = true
|
||||
$TimerJump.start()
|
||||
|
||||
# Get the input direction and handle the movement/deceleration.
|
||||
if Input.is_action_pressed("ui_strafe"):
|
||||
if Input.is_action_pressed("ui_left"):
|
||||
input_x = 1.0
|
||||
move_strafe = true
|
||||
elif Input.is_action_pressed("ui_right"):
|
||||
input_x = -1.0
|
||||
move_strafe = true
|
||||
if Input.is_action_pressed("INPUT_ACTION_STRAFE_LEFT"):
|
||||
input_x = 1.0
|
||||
move_strafe = true
|
||||
elif Input.is_action_pressed("INPUT_ACTION_STRAFE_RIGHT"):
|
||||
input_x = -1.0
|
||||
move_strafe = true
|
||||
else:
|
||||
var y = 0
|
||||
if Input.is_action_pressed("ui_right"):
|
||||
y -= 1
|
||||
if Input.is_action_pressed("ui_left"):
|
||||
y += 1
|
||||
if y != 0:
|
||||
var dt = y * delta * SPEED_ROTATE
|
||||
if tps:
|
||||
input_x = 0.0
|
||||
# if Input.is_action_pressed("ui_strafe"):
|
||||
# if Input.is_action_pressed("ui_left"):
|
||||
# input_x = 1.0
|
||||
# move_strafe = true
|
||||
# elif Input.is_action_pressed("ui_right"):
|
||||
# input_x = -1.0
|
||||
# move_strafe = true
|
||||
|
||||
var y = 0
|
||||
if Input.is_action_pressed("INPUT_ACTION_RIGHT"):
|
||||
y -= 1
|
||||
if Input.is_action_pressed("INPUT_ACTION_LEFT"):
|
||||
y += 1
|
||||
if y != 0:
|
||||
var dt = y * delta * SPEED_ROTATE
|
||||
if tps:
|
||||
if reconciliate_rotate_camera_player:
|
||||
camera_rotate_y += dt
|
||||
if camera_rotate_y > PI:
|
||||
camera_rotate_y -= TAU
|
||||
|
@ -415,20 +506,30 @@ func _physics_process_walk(delta):
|
|||
camera_rotate_y += TAU
|
||||
$camera_root/horizontal_root.rotate_y( dt )
|
||||
else:
|
||||
camera_rotate_y += dt
|
||||
if camera_rotate_y > PI:
|
||||
camera_rotate_y -= TAU
|
||||
elif camera_rotate_y <= -PI:
|
||||
camera_rotate_y += TAU
|
||||
player_rotate_y += dt
|
||||
if player_rotate_y > PI:
|
||||
player_rotate_y -= TAU
|
||||
elif player_rotate_y <= -PI:
|
||||
player_rotate_y += TAU
|
||||
camera_rotate_y = player_rotate_y
|
||||
rotate_y( dt )
|
||||
# Disable vector on ui_right/ui_left (used to rotate and not strafe)
|
||||
input_x = 0
|
||||
if Input.is_action_pressed("ui_up"):
|
||||
else:
|
||||
player_rotate_y += dt
|
||||
if player_rotate_y > PI:
|
||||
player_rotate_y -= TAU
|
||||
elif player_rotate_y <= -PI:
|
||||
player_rotate_y += TAU
|
||||
camera_rotate_y = player_rotate_y
|
||||
rotate_y( dt )
|
||||
if Input.is_action_pressed("INPUT_ACTION_UP"):
|
||||
input_y = 1.0
|
||||
move_up = true
|
||||
player_automove = false
|
||||
elif Input.is_action_pressed("ui_down"):
|
||||
elif Input.is_action_pressed("INPUT_ACTION_DOWN"):
|
||||
player_automove = false
|
||||
input_y = -1.0
|
||||
move_down = true
|
||||
|
@ -542,22 +643,23 @@ func _physics_process_walk_water(delta):
|
|||
# motion_velocity.y = JUMP_FORCE
|
||||
|
||||
# Get the input direction and handle the movement/deceleration.
|
||||
if Input.is_action_pressed("ui_strafe"):
|
||||
if Input.is_action_pressed("ui_left"):
|
||||
input_x = 1.0
|
||||
move_strafe = true
|
||||
elif Input.is_action_pressed("ui_right"):
|
||||
input_x = -1.0
|
||||
move_strafe = true
|
||||
if Input.is_action_pressed("INPUT_ACTION_STRAFE_LEFT"):
|
||||
input_x = 1.0
|
||||
move_strafe = true
|
||||
elif Input.is_action_pressed("INPUT_ACTION_STRAFE_RIGHT"):
|
||||
input_x = -1.0
|
||||
move_strafe = true
|
||||
else:
|
||||
var y = 0
|
||||
if Input.is_action_pressed("ui_right"):
|
||||
y -= 1
|
||||
if Input.is_action_pressed("ui_left"):
|
||||
y += 1
|
||||
if y != 0:
|
||||
var dt = y * delta * SPEED_ROTATE
|
||||
if tps:
|
||||
input_x = 0.0
|
||||
var y = 0
|
||||
if Input.is_action_pressed("INPUT_ACTION_RIGHT"):
|
||||
y -= 1
|
||||
if Input.is_action_pressed("INPUT_ACTION_LEFT"):
|
||||
y += 1
|
||||
if y != 0:
|
||||
var dt = y * delta * SPEED_ROTATE
|
||||
if tps:
|
||||
if reconciliate_rotate_camera_player:
|
||||
camera_rotate_y += dt
|
||||
if camera_rotate_y > PI:
|
||||
camera_rotate_y -= TAU
|
||||
|
@ -565,20 +667,30 @@ func _physics_process_walk_water(delta):
|
|||
camera_rotate_y += TAU
|
||||
$camera_root/horizontal_root.rotate_y( dt )
|
||||
else:
|
||||
camera_rotate_y += dt
|
||||
if camera_rotate_y > PI:
|
||||
camera_rotate_y -= TAU
|
||||
elif camera_rotate_y <= -PI:
|
||||
camera_rotate_y += TAU
|
||||
player_rotate_y += dt
|
||||
if player_rotate_y > PI:
|
||||
player_rotate_y -= TAU
|
||||
elif player_rotate_y <= -PI:
|
||||
player_rotate_y += TAU
|
||||
camera_rotate_y = player_rotate_y
|
||||
rotate_y( dt )
|
||||
# Disable vector on ui_right/ui_left (used to rotate and not strafe)
|
||||
input_x = 0
|
||||
if Input.is_action_pressed("ui_up"):
|
||||
else:
|
||||
player_rotate_y += dt
|
||||
if player_rotate_y > PI:
|
||||
player_rotate_y -= TAU
|
||||
elif player_rotate_y <= -PI:
|
||||
player_rotate_y += TAU
|
||||
camera_rotate_y = player_rotate_y
|
||||
rotate_y( dt )
|
||||
if Input.is_action_pressed("INPUT_ACTION_UP"):
|
||||
input_y = 1.0
|
||||
move_up = true
|
||||
player_automove = false
|
||||
elif Input.is_action_pressed("ui_down"):
|
||||
elif Input.is_action_pressed("INPUT_ACTION_DOWN"):
|
||||
player_automove = false
|
||||
input_y = -1.0
|
||||
move_down = true
|
||||
|
@ -662,22 +774,23 @@ func _physics_process_fly(delta):
|
|||
var move_strafe: bool = false
|
||||
|
||||
# Get the input direction and handle the movement/deceleration.
|
||||
if Input.is_action_pressed("ui_strafe"):
|
||||
if Input.is_action_pressed("ui_left"):
|
||||
input_x = 1.0
|
||||
move_strafe = true
|
||||
elif Input.is_action_pressed("ui_right"):
|
||||
input_x = -1.0
|
||||
move_strafe = true
|
||||
if Input.is_action_pressed("INPUT_ACTION_STRAFE_LEFT"):
|
||||
input_x = 1.0
|
||||
move_strafe = true
|
||||
elif Input.is_action_pressed("INPUT_ACTION_STRAFE_RIGHT"):
|
||||
input_x = -1.0
|
||||
move_strafe = true
|
||||
else:
|
||||
var y = 0
|
||||
if Input.is_action_pressed("ui_right"):
|
||||
y -= 1
|
||||
if Input.is_action_pressed("ui_left"):
|
||||
y += 1
|
||||
if y != 0:
|
||||
var dt = y * delta * SPEED_ROTATE
|
||||
if tps:
|
||||
input_x = 0.0
|
||||
var y = 0
|
||||
if Input.is_action_pressed("INPUT_ACTION_RIGHT"):
|
||||
y -= 1
|
||||
if Input.is_action_pressed("INPUT_ACTION_LEFT"):
|
||||
y += 1
|
||||
if y != 0:
|
||||
var dt = y * delta * SPEED_ROTATE
|
||||
if tps:
|
||||
if reconciliate_rotate_camera_player:
|
||||
camera_rotate_y += dt
|
||||
if camera_rotate_y > PI:
|
||||
camera_rotate_y -= TAU
|
||||
|
@ -685,21 +798,31 @@ func _physics_process_fly(delta):
|
|||
camera_rotate_y += TAU
|
||||
$camera_root/horizontal_root.rotate_y( dt )
|
||||
else:
|
||||
camera_rotate_y += dt
|
||||
if camera_rotate_y > PI:
|
||||
camera_rotate_y -= TAU
|
||||
elif camera_rotate_y <= -PI:
|
||||
camera_rotate_y += TAU
|
||||
player_rotate_y += dt
|
||||
if player_rotate_y > PI:
|
||||
player_rotate_y -= TAU
|
||||
elif player_rotate_y <= -PI:
|
||||
player_rotate_y += TAU
|
||||
camera_rotate_y = player_rotate_y
|
||||
rotate_y( dt )
|
||||
# Disable vector on ui_right/ui_left (used to rotate and not strafe)
|
||||
input_x = 0
|
||||
if Input.is_action_pressed("ui_up"):
|
||||
else:
|
||||
player_rotate_y += dt
|
||||
if player_rotate_y > PI:
|
||||
player_rotate_y -= TAU
|
||||
elif player_rotate_y <= -PI:
|
||||
player_rotate_y += TAU
|
||||
camera_rotate_y = player_rotate_y
|
||||
rotate_y( dt )
|
||||
if Input.is_action_pressed("INPUT_ACTION_UP"):
|
||||
input_y = 1.0
|
||||
input_z = 1.0
|
||||
move_up = true
|
||||
player_automove = false
|
||||
elif Input.is_action_pressed("ui_down"):
|
||||
elif Input.is_action_pressed("INPUT_ACTION_DOWN"):
|
||||
player_automove = false
|
||||
input_y = -1.0
|
||||
input_z = -1.0
|
||||
|
@ -791,22 +914,23 @@ func _physics_process_swim(delta):
|
|||
var move_strafe: bool = false
|
||||
|
||||
# Get the input direction and handle the movement/deceleration.
|
||||
if Input.is_action_pressed("ui_strafe"):
|
||||
if Input.is_action_pressed("ui_left"):
|
||||
input_x = 1.0
|
||||
move_strafe = true
|
||||
elif Input.is_action_pressed("ui_right"):
|
||||
input_x = -1.0
|
||||
move_strafe = true
|
||||
if Input.is_action_pressed("INPUT_ACTION_STRAFE_LEFT"):
|
||||
input_x = 1.0
|
||||
move_strafe = true
|
||||
elif Input.is_action_pressed("INPUT_ACTION_STRAFE_RIGHT"):
|
||||
input_x = -1.0
|
||||
move_strafe = true
|
||||
else:
|
||||
var y = 0
|
||||
if Input.is_action_pressed("ui_right"):
|
||||
y -= 1
|
||||
if Input.is_action_pressed("ui_left"):
|
||||
y += 1
|
||||
if y != 0:
|
||||
var dt = y * delta * SPEED_ROTATE
|
||||
if tps:
|
||||
input_x = 0.0
|
||||
var y = 0
|
||||
if Input.is_action_pressed("INPUT_ACTION_RIGHT"):
|
||||
y -= 1
|
||||
if Input.is_action_pressed("INPUT_ACTION_LEFT"):
|
||||
y += 1
|
||||
if y != 0:
|
||||
var dt = y * delta * SPEED_ROTATE
|
||||
if tps:
|
||||
if reconciliate_rotate_camera_player:
|
||||
camera_rotate_y += dt
|
||||
if camera_rotate_y > PI:
|
||||
camera_rotate_y -= TAU
|
||||
|
@ -814,21 +938,31 @@ func _physics_process_swim(delta):
|
|||
camera_rotate_y += TAU
|
||||
$camera_root/horizontal_root.rotate_y( dt )
|
||||
else:
|
||||
camera_rotate_y += dt
|
||||
if camera_rotate_y > PI:
|
||||
camera_rotate_y -= TAU
|
||||
elif camera_rotate_y <= -PI:
|
||||
camera_rotate_y += TAU
|
||||
player_rotate_y += dt
|
||||
if player_rotate_y > PI:
|
||||
player_rotate_y -= TAU
|
||||
elif player_rotate_y <= -PI:
|
||||
player_rotate_y += TAU
|
||||
camera_rotate_y = player_rotate_y
|
||||
rotate_y( dt )
|
||||
# Disable vector on ui_right/ui_left (used to rotate and not strafe)
|
||||
input_x = 0
|
||||
if Input.is_action_pressed("ui_up"):
|
||||
else:
|
||||
player_rotate_y += dt
|
||||
if player_rotate_y > PI:
|
||||
player_rotate_y -= TAU
|
||||
elif player_rotate_y <= -PI:
|
||||
player_rotate_y += TAU
|
||||
camera_rotate_y = player_rotate_y
|
||||
rotate_y( dt )
|
||||
if Input.is_action_pressed("INPUT_ACTION_UP"):
|
||||
input_y = 1.0
|
||||
input_z = 1.0
|
||||
move_up = true
|
||||
player_automove = false
|
||||
elif Input.is_action_pressed("ui_down"):
|
||||
elif Input.is_action_pressed("INPUT_ACTION_DOWN"):
|
||||
player_automove = false
|
||||
input_y = -1.0
|
||||
input_z = -1.0
|
||||
|
@ -929,6 +1063,10 @@ func _process( delta ):
|
|||
func _process_walk( delta ):
|
||||
if reconciliate_rotate_camera_player:
|
||||
var diff = camera_rotate_y - player_rotate_y
|
||||
|
||||
if diff == 0.0:
|
||||
reconciliate_rotate_camera_player = false
|
||||
return
|
||||
|
||||
if diff > PI:
|
||||
diff = camera_rotate_y - player_rotate_y - TAU
|
||||
|
|
|
@ -103,32 +103,32 @@ board_ship={
|
|||
}
|
||||
INPUT_ACTION_UP={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":87,"physical_keycode":0,"unicode":0,"echo":false,"script":null)
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":90,"physical_keycode":0,"unicode":122,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
INPUT_ACTION_DOWN={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":83,"physical_keycode":0,"unicode":0,"echo":false,"script":null)
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":83,"physical_keycode":0,"unicode":115,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
INPUT_ACTION_LEFT={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":65,"physical_keycode":0,"unicode":0,"echo":false,"script":null)
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":81,"physical_keycode":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
INPUT_ACTION_RIGHT={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":68,"physical_keycode":0,"unicode":0,"echo":false,"script":null)
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":68,"physical_keycode":0,"unicode":100,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
INPUT_ACTION_STRAFE_LEFT={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":81,"physical_keycode":0,"unicode":0,"echo":false,"script":null)
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":65,"physical_keycode":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
INPUT_ACTION_STRAFE_RIGHT={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":69,"physical_keycode":0,"unicode":0,"echo":false,"script":null)
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":69,"physical_keycode":0,"unicode":101,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
INPUT_ACTION_RUN={
|
||||
|
@ -156,6 +156,11 @@ INPUT_ACTION_ENTER_VEHICLE={
|
|||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":88,"physical_keycode":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
INPUT_ACTION_JUMP={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"unicode":32,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
INPUT_VIEW_CAMERA_LEFT={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":16777231,"physical_keycode":0,"unicode":0,"echo":false,"script":null)
|
||||
|
@ -188,12 +193,14 @@ INPUT_VIEW_DOWN={
|
|||
}
|
||||
INPUT_VIEW_FRONT={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":true,"pressed":false,"keycode":16777232,"physical_keycode":0,"unicode":0,"echo":false,"script":null)
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":16777229,"physical_keycode":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":true,"pressed":false,"keycode":16777232,"physical_keycode":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
INPUT_VIEW_BACK={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":true,"pressed":false,"keycode":16777234,"physical_keycode":0,"unicode":0,"echo":false,"script":null)
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":16777230,"physical_keycode":0,"unicode":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":true,"pressed":false,"keycode":16777234,"physical_keycode":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
INPUT_VIEW_CAMERA_FPS_TPS={
|
||||
|
|
|
@ -1,6 +1,24 @@
|
|||
extends Node
|
||||
|
||||
|
||||
var debug:bool = true
|
||||
|
||||
|
||||
func msg_debug(text):
|
||||
if debug:
|
||||
var frame = get_stack()[1]
|
||||
print("DEBUG [%s:%d] %s" % [frame.source, frame.line, text] )
|
||||
|
||||
|
||||
func msg_info(text):
|
||||
var frame = get_stack()[1]
|
||||
print("INFO [%s:%d] %s" % [frame.source, frame.line, text] )
|
||||
|
||||
|
||||
func msg_error(text):
|
||||
var frame = get_stack()[1]
|
||||
print("ERROR [%s:%d] %s" % [frame.source, frame.line, text] )
|
||||
|
||||
|
||||
func get_string_input_mousse_button(event:InputEventMouseButton) -> String:
|
||||
match event.get_button_index():
|
||||
|
|
Loading…
Reference in a new issue