Add project files

This commit is contained in:
ChaoticByte 2024-09-25 21:18:58 +02:00
commit ab339c8a2c
No known key found for this signature in database
81 changed files with 2567 additions and 0 deletions

36
player/player.gd Normal file
View file

@ -0,0 +1,36 @@
extends CharacterBody2D
@export var movement_speed = 300.0
@export var jump_velocity = -350.0
@export var max_jumps: int = 2
@onready var ceiling_raycast1 = $RayCastUp1
@onready var ceiling_raycast2 = $RayCastUp2
var jumps = 0
func _physics_process(delta: float) -> void:
var dir = Input.get_axis("player_left", "player_right")
var on_floor = is_on_floor()
var on_wall = is_on_wall()
var on_ceiling = ceiling_raycast1.is_colliding() or ceiling_raycast2.is_colliding()
# left right movement
if dir:
velocity.x = dir * movement_speed
else:
velocity.x = move_toward(velocity.x, 0, movement_speed)
# gravity
if not (on_floor or on_ceiling):
velocity += get_gravity() * delta
# reset number of jumps
if on_ceiling or on_floor or on_wall:
jumps = 0
# jumping / dropping from ceiling
if Input.is_action_just_pressed("player_jump"):
if on_ceiling: # drop from ceiling
velocity += get_gravity() * delta
elif jumps < max_jumps: # (allows air jumps)
velocity.y = jump_velocity
jumps += 1
move_and_slide()

29
player/player.tscn Normal file
View file

@ -0,0 +1,29 @@
[gd_scene load_steps=3 format=3 uid="uid://ebb4pfxklatj"]
[ext_resource type="Script" path="res://player/player.gd" id="1_fob34"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_7cq61"]
size = Vector2(16, 16)
[node name="Player" type="CharacterBody2D"]
floor_block_on_wall = false
script = ExtResource("1_fob34")
[node name="Camera2D" type="Camera2D" parent="."]
position_smoothing_enabled = true
drag_horizontal_enabled = true
drag_vertical_enabled = true
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_7cq61")
[node name="RayCastUp1" type="RayCast2D" parent="."]
position = Vector2(-4, 0)
target_position = Vector2(0, -8.1)
[node name="RayCastUp2" type="RayCast2D" parent="."]
position = Vector2(4, 0)
target_position = Vector2(0, -8.1)
[node name="Polygon2D" type="Polygon2D" parent="."]
polygon = PackedVector2Array(-7, -7, -7, 7, 7, 7, 7, -7)