Basic player controls and aiming
This commit is contained in:
parent
56695d303e
commit
f5999da412
114 changed files with 6611 additions and 2 deletions
18
objects/weapons/projectiles/brick.tscn
Normal file
18
objects/weapons/projectiles/brick.tscn
Normal file
|
@ -0,0 +1,18 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://dlnu4b8eydxui"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://ccyfbp8cypnyy" path="res://objects/weapons/projectiles/throwable.tscn" id="1_4sas3"]
|
||||
[ext_resource type="Texture2D" uid="uid://bd3mcp3gds2vg" path="res://textures/projectiles/brick.png" id="2_evkjl"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_7kw5j"]
|
||||
size = Vector2(6, 4)
|
||||
|
||||
[node name="Brick" instance=ExtResource("1_4sas3")]
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="." index="0"]
|
||||
texture = ExtResource("2_evkjl")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="." index="1"]
|
||||
shape = SubResource("RectangleShape2D_7kw5j")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Interactable" index="0"]
|
||||
shape = SubResource("RectangleShape2D_7kw5j")
|
9
objects/weapons/projectiles/bullet.gd
Normal file
9
objects/weapons/projectiles/bullet.gd
Normal file
|
@ -0,0 +1,9 @@
|
|||
extends Node2D
|
||||
|
||||
|
||||
var speed: float = 500.0
|
||||
var direction := Vector2.ZERO
|
||||
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
global_position += direction * speed * delta
|
22
objects/weapons/projectiles/bullet.tscn
Normal file
22
objects/weapons/projectiles/bullet.tscn
Normal file
|
@ -0,0 +1,22 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://cntjtrjp4uisn"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://e6ubhnakxe0i" path="res://icon.svg" id="1_lvyed"]
|
||||
[ext_resource type="Script" path="res://objects/weapons/projectiles/bullet.gd" id="1_xwbst"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_kf3mx"]
|
||||
size = Vector2(4, 4)
|
||||
|
||||
[node name="Bullet" type="Node2D"]
|
||||
script = ExtResource("1_xwbst")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
position = Vector2(-2.38419e-07, 0)
|
||||
scale = Vector2(0.03125, 0.03125)
|
||||
texture = ExtResource("1_lvyed")
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||
shape = SubResource("RectangleShape2D_kf3mx")
|
||||
|
||||
[connection signal="body_entered" from="Area2D" to="." method="queue_free" unbinds=1]
|
12
objects/weapons/projectiles/throwable.gd
Normal file
12
objects/weapons/projectiles/throwable.gd
Normal file
|
@ -0,0 +1,12 @@
|
|||
class_name Throwable
|
||||
extends RigidBody2D
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func _on_interacted(user: Node) -> void:
|
||||
var player = user as Player
|
||||
if player:
|
||||
player.pick_up(self)
|
16
objects/weapons/projectiles/throwable.tscn
Normal file
16
objects/weapons/projectiles/throwable.tscn
Normal file
|
@ -0,0 +1,16 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://ccyfbp8cypnyy"]
|
||||
|
||||
[ext_resource type="Script" path="res://objects/weapons/projectiles/throwable.gd" id="1_dsh6j"]
|
||||
[ext_resource type="Script" path="res://objects/interactable.gd" id="2_b3de0"]
|
||||
|
||||
[node name="Throwable" type="RigidBody2D"]
|
||||
script = ExtResource("1_dsh6j")
|
||||
|
||||
[node name="Interactable" type="Area2D" parent="."]
|
||||
collision_layer = 64
|
||||
collision_mask = 0
|
||||
input_pickable = false
|
||||
monitoring = false
|
||||
script = ExtResource("2_b3de0")
|
||||
|
||||
[connection signal="interacted" from="Interactable" to="." method="_on_interacted"]
|
Reference in a new issue