Browse Source

Adding player and a an initial ground

pull/1/head
Ryan Reed 1 month ago
parent
commit
595bdeb393
5 changed files with 70 additions and 4 deletions
  1. +33
    -0
      scenes/characters/player.gd
  2. +1
    -0
      scenes/characters/player.gd.uid
  3. +20
    -0
      scenes/characters/player.tscn
  4. +12
    -3
      scenes/world/world.gd
  5. +4
    -1
      scenes/world/world.tscn

+ 33
- 0
scenes/characters/player.gd View File

@ -0,0 +1,33 @@
class_name Player
extends CharacterBody3D
@export var speed: float = 5.0
@export var jump_velocity: float = 4.5
func _physics_process(delta: float) -> void:
apply_gravity(delta)
handle_jump()
handle_movement()
move_and_slide()
func apply_gravity(delta: float) -> void:
if is_on_floor(): return
velocity += get_gravity() * delta
func handle_jump() -> void:
if not Input.is_action_just_pressed("jump") or not is_on_floor(): return
velocity.y = jump_velocity
func handle_movement() -> void:
var input_dir: Vector2 = Input.get_vector("move_left", "move_right", "move_forward", "move_backward")
var direction: Vector3 = (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
if direction:
velocity.x = direction.x * speed
velocity.z = direction.z * speed
else:
velocity.x = move_toward(velocity.x, 0, speed)
velocity.z = move_toward(velocity.z, 0, speed)

+ 1
- 0
scenes/characters/player.gd.uid View File

@ -0,0 +1 @@
uid://b6xiwiwwbdapd

+ 20
- 0
scenes/characters/player.tscn View File

@ -0,0 +1,20 @@
[gd_scene load_steps=4 format=3 uid="uid://cggiju8k3bkoc"]
[ext_resource type="Script" uid="uid://b6xiwiwwbdapd" path="res://scenes/characters/player.gd" id="1_rp718"]
[sub_resource type="BoxShape3D" id="BoxShape3D_wocps"]
size = Vector3(1, 1.9, 1)
[sub_resource type="BoxMesh" id="BoxMesh_rp718"]
size = Vector3(1, 1.9, 1)
[node name="Player" type="CharacterBody3D"]
script = ExtResource("1_rp718")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.953133, 0)
shape = SubResource("BoxShape3D_wocps")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.953133, 0)
mesh = SubResource("BoxMesh_rp718")

+ 12
- 3
scenes/world/world.gd View File

@ -2,13 +2,13 @@ class_name World
extends Node3D
const BLOCK_PREFAB: PackedScene = preload("res://scenes/blocks/block.tscn")
func _ready() -> void:
create_block(Block.Types.DIRT, Vector3.ZERO)
create_block(Block.Types.STONE, Vector3.ONE)
_initialize_ground()
#create_block(Block.Types.DIRT, Vector3.ZERO)
#create_block(Block.Types.STONE, Vector3.ONE)
func create_block(block_type: Block.Types, block_position: Vector3) -> void:
@ -18,3 +18,12 @@ func create_block(block_type: Block.Types, block_position: Vector3) -> void:
block.type = block_type
block.apply_material()
add_child(block)
func _initialize_ground() -> void:
for x: int in range(-10, 11):
for z: int in range(-10, 11):
var random_type: int = randi_range(0 ,1)
var ground_position: Vector3 = Vector3(x, 0, z)
create_block(random_type, ground_position)
#create_block(Block.Types.STONE, ground_position)

+ 4
- 1
scenes/world/world.tscn View File

@ -1,6 +1,7 @@
[gd_scene load_steps=5 format=3 uid="uid://mkfitwqnerku"]
[gd_scene load_steps=6 format=3 uid="uid://mkfitwqnerku"]
[ext_resource type="Script" uid="uid://c0jbvki2cylct" path="res://scenes/world/world.gd" id="1_6m72w"]
[ext_resource type="PackedScene" uid="uid://cggiju8k3bkoc" path="res://scenes/characters/player.tscn" id="2_sl2e5"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_4rhad"]
sky_horizon_color = Color(0.662243, 0.671743, 0.686743, 1)
@ -27,3 +28,5 @@ shadow_enabled = true
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.866025, 0.5, 0, -0.5, 0.866025, 0.1, 1.86802, 3.38687)
[node name="Player" parent="." instance=ExtResource("2_sl2e5")]

Loading…
Cancel
Save