Fixed player movement and added camera rotation
This commit is contained in:
parent
c0455a3cb4
commit
2a809c857a
3 changed files with 22 additions and 5 deletions
|
@ -15,7 +15,7 @@
|
||||||
[node name="RotationalSprite" type="Sprite3D" parent="."]
|
[node name="RotationalSprite" type="Sprite3D" parent="."]
|
||||||
billboard = 2
|
billboard = 2
|
||||||
texture_filter = 0
|
texture_filter = 0
|
||||||
texture = ExtResource("1_7qny8")
|
texture = ExtResource("8_snoby")
|
||||||
script = ExtResource("2_hmq60")
|
script = ExtResource("2_hmq60")
|
||||||
rotations = Dictionary[float, Texture2D]({
|
rotations = Dictionary[float, Texture2D]({
|
||||||
0.0: ExtResource("6_d1vpv"),
|
0.0: ExtResource("6_d1vpv"),
|
||||||
|
|
|
@ -1,11 +1,15 @@
|
||||||
[gd_scene load_steps=3 format=3 uid="uid://d23028pr0jahr"]
|
[gd_scene load_steps=4 format=3 uid="uid://d23028pr0jahr"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://bgnb01j1nphhi" path="res://base/scenes/rooms/test.tscn" id="1_sjeh3"]
|
[ext_resource type="PackedScene" uid="uid://bgnb01j1nphhi" path="res://base/scenes/rooms/test.tscn" id="1_sjeh3"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dwx5tcatj35gu" path="res://base/scenes/player.tscn" id="2_uxs03"]
|
[ext_resource type="PackedScene" uid="uid://dwx5tcatj35gu" path="res://base/scenes/player.tscn" id="2_uxs03"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://twqkevpn0q1a" path="res://base/scenes/enemies/test_enemy.tscn" id="3_tk4w0"]
|
||||||
|
|
||||||
[node name="Game" type="Node3D"]
|
[node name="Game" type="Node3D"]
|
||||||
|
|
||||||
[node name="Test Room" parent="." instance=ExtResource("1_sjeh3")]
|
[node name="Test Room" parent="." instance=ExtResource("1_sjeh3")]
|
||||||
|
|
||||||
[node name="Player" parent="." instance=ExtResource("2_uxs03")]
|
[node name="Player" parent="." instance=ExtResource("2_uxs03")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.208048, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.208048, 1.61008)
|
||||||
|
|
||||||
|
[node name="TestEnemy" parent="." instance=ExtResource("3_tk4w0")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.695979)
|
||||||
|
|
|
@ -2,14 +2,18 @@ extends CharacterBody3D
|
||||||
|
|
||||||
@export var speed = 100.0
|
@export var speed = 100.0
|
||||||
@export var fall_acceleration = 75.0
|
@export var fall_acceleration = 75.0
|
||||||
|
@export var vertical_sensivity = 0.005
|
||||||
|
@export var horizontal_sensivity = 0.005
|
||||||
|
|
||||||
var stack: CommandStack = CommandStack.new()
|
var stack: CommandStack = CommandStack.new()
|
||||||
|
|
||||||
|
@onready var camera: Camera3D = $"Camera"
|
||||||
@onready var weapon_player: AnimationPlayer = $"HUD/Weapon/AnimationPlayer"
|
@onready var weapon_player: AnimationPlayer = $"HUD/Weapon/AnimationPlayer"
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
weapon_player.current_animation = "static"
|
weapon_player.current_animation = "static"
|
||||||
|
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
||||||
|
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
@ -17,11 +21,20 @@ func _physics_process(delta: float) -> void:
|
||||||
var direction = Vector3.ZERO
|
var direction = Vector3.ZERO
|
||||||
direction.z = Input.get_axis("move_forward", "move_backward")
|
direction.z = Input.get_axis("move_forward", "move_backward")
|
||||||
direction.x = Input.get_axis("move_left", "move_right")
|
direction.x = Input.get_axis("move_left", "move_right")
|
||||||
|
var target_velocity = (transform.basis * direction).normalized() * speed * delta
|
||||||
var target_velocity = direction * speed * delta
|
|
||||||
|
|
||||||
if not is_on_floor():
|
if not is_on_floor():
|
||||||
target_velocity.y -= fall_acceleration * delta
|
target_velocity.y -= fall_acceleration * delta
|
||||||
|
|
||||||
velocity = target_velocity
|
velocity = target_velocity
|
||||||
move_and_slide()
|
move_and_slide()
|
||||||
|
|
||||||
|
func _input(event):
|
||||||
|
if event is InputEventMouseMotion:
|
||||||
|
var new_rotation = clamp(
|
||||||
|
camera.rotation.x - event.relative.y * vertical_sensivity,
|
||||||
|
-PI/2,
|
||||||
|
PI/2
|
||||||
|
)
|
||||||
|
camera.rotation.x = new_rotation
|
||||||
|
rotation.y -= event.relative.x * horizontal_sensivity
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue