initial experiments
This commit is contained in:
commit
c90da1eda2
17 changed files with 259 additions and 0 deletions
30
objects/player/player.gd
Normal file
30
objects/player/player.gd
Normal file
|
@ -0,0 +1,30 @@
|
|||
extends CharacterBody3D
|
||||
|
||||
|
||||
@export var walk_speed: float
|
||||
@export var gravity: float
|
||||
@export var jump_force: float
|
||||
|
||||
@export var level_path: Path3D
|
||||
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
# snap player horizontally to path
|
||||
var path_offset = level_path.curve.get_closest_offset(level_path.to_local(global_position))
|
||||
var path_trans = level_path.curve.sample_baked_with_rotation(path_offset, true)
|
||||
global_position.x = path_trans.origin.x
|
||||
global_position.z = path_trans.origin.z
|
||||
global_transform.basis.x = -path_trans.basis.x
|
||||
global_transform.basis.z = -path_trans.basis.z
|
||||
|
||||
# horizontal movement
|
||||
var h_movement = global_transform.basis.z * Input.get_axis(&"walk_left", &"walk_right") * walk_speed
|
||||
velocity.x = h_movement.x
|
||||
velocity.z = h_movement.z
|
||||
|
||||
# vertical movement
|
||||
velocity.y -= gravity * delta
|
||||
if Input.is_action_just_pressed(&"jump"):
|
||||
velocity.y = jump_force
|
||||
|
||||
move_and_slide()
|
1
objects/player/player.gd.uid
Normal file
1
objects/player/player.gd.uid
Normal file
|
@ -0,0 +1 @@
|
|||
uid://daswmtow3mr37
|
29
objects/player/player.tscn
Normal file
29
objects/player/player.tscn
Normal file
|
@ -0,0 +1,29 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://bquyryhfcp8y7"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://befg6ydw61eov" path="res://assets/textures/sg_idle_color.png" id="1_cqmt1"]
|
||||
[ext_resource type="Script" uid="uid://daswmtow3mr37" path="res://objects/player/player.gd" id="1_g7ett"]
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_ssrue"]
|
||||
height = 1.0
|
||||
radius = 0.25
|
||||
|
||||
[node name="Player" type="CharacterBody3D"]
|
||||
script = ExtResource("1_g7ett")
|
||||
walk_speed = 6.0
|
||||
gravity = 15.0
|
||||
jump_force = 8.0
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="."]
|
||||
offset = Vector2(0, 9)
|
||||
flip_h = true
|
||||
pixel_size = 0.0556
|
||||
axis = 0
|
||||
texture_filter = 0
|
||||
texture = ExtResource("1_cqmt1")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||
shape = SubResource("CylinderShape3D_ssrue")
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -5, 1.5, 0)
|
Loading…
Add table
Add a link
Reference in a new issue