mirror of
https://github.com/Steffo99/cinnos.git
synced 2024-11-25 09:34:21 +00:00
Add bullet
This commit is contained in:
parent
b35d2f377c
commit
ee9a2e9562
5 changed files with 115 additions and 2 deletions
28
Root.tscn
28
Root.tscn
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=24 format=3 uid="uid://4whij2hmts0t"]
|
||||
[gd_scene load_steps=27 format=3 uid="uid://4whij2hmts0t"]
|
||||
|
||||
[ext_resource type="Script" path="res://Player.gd" id="1_wt4gx"]
|
||||
[ext_resource type="Material" path="res://Unshaded.material" id="2_upp15"]
|
||||
|
@ -10,10 +10,12 @@
|
|||
[ext_resource type="FontFile" uid="uid://qf3uxmta6lpw" path="res://fonts/FiraCode-Medium.ttf" id="5_yvnu2"]
|
||||
[ext_resource type="PackedScene" uid="uid://4i2c481rpxe3" path="res://models/cinno.glb" id="8_32hx2"]
|
||||
[ext_resource type="Script" path="res://Camera3D.gd" id="8_auifr"]
|
||||
[ext_resource type="PackedScene" path="res://obstacles/house_c.tscn" id="9_xyam4"]
|
||||
[ext_resource type="PackedScene" uid="uid://bxj354o6rycsf" path="res://obstacles/house_c.tscn" id="9_xyam4"]
|
||||
[ext_resource type="PackedScene" path="res://obstacles/dialog.tscn" id="10_6ihn6"]
|
||||
[ext_resource type="Script" path="res://Buccia.gd" id="12_7dfpx"]
|
||||
[ext_resource type="PackedScene" uid="uid://72q4p7x8l08y" path="res://models/banana.glb" id="13_ecp45"]
|
||||
[ext_resource type="Script" path="res://Torretta.gd" id="15_058li"]
|
||||
[ext_resource type="PackedScene" uid="uid://t0gblqb4yr8m" path="res://models/turret.glb" id="16_upw73"]
|
||||
|
||||
[sub_resource type="Theme" id="Theme_hkcet"]
|
||||
Label/fonts/font = ExtResource("3_p3wyc")
|
||||
|
@ -45,6 +47,9 @@ size = Vector3(200, 4, 200)
|
|||
[sub_resource type="BoxShape3D" id="BoxShape3D_p1ebg"]
|
||||
size = Vector3(1.5, 1.5, 1.5)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_hwxik"]
|
||||
size = Vector3(1.9188, 3.57475, 2.31203)
|
||||
|
||||
[node name="Root" type="Node3D"]
|
||||
|
||||
[node name="UI" type="Control" parent="."]
|
||||
|
@ -134,6 +139,7 @@ script = ExtResource("3_y362g")
|
|||
|
||||
[node name="Player" type="CharacterBody3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.927202, 0)
|
||||
collision_layer = 5
|
||||
script = ExtResource("1_wt4gx")
|
||||
input_accel = 8.0
|
||||
jump_impulse = Vector3(0, 10, 0)
|
||||
|
@ -166,6 +172,8 @@ mesh = SubResource("BoxMesh_4tnse")
|
|||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="Plane" type="StaticBody3D" parent="."]
|
||||
collision_layer = 5
|
||||
collision_mask = 5
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Plane"]
|
||||
mesh = SubResource("PlaneMesh_opk07")
|
||||
|
@ -187,15 +195,19 @@ shadow_enabled = true
|
|||
|
||||
[node name="HouseC" parent="." instance=ExtResource("9_xyam4")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.9482, 0, -6.46428)
|
||||
collision_layer = 5
|
||||
|
||||
[node name="HouseC2" parent="." instance=ExtResource("9_xyam4")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.94815, 0, 15.5357)
|
||||
collision_layer = 5
|
||||
|
||||
[node name="HouseC3" parent="." instance=ExtResource("9_xyam4")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21.0518, 0, -18.4643)
|
||||
collision_layer = 5
|
||||
|
||||
[node name="HouseC4" parent="." instance=ExtResource("9_xyam4")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18.0518, 0, 8.53572)
|
||||
collision_layer = 5
|
||||
|
||||
[node name="Dialog" parent="." instance=ExtResource("10_6ihn6")]
|
||||
transform = Transform3D(4, 0, 0, 0, 4, 0, 0, 0, 4, 0, 1, -7)
|
||||
|
@ -252,6 +264,18 @@ script = ExtResource("12_7dfpx")
|
|||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.75, 0)
|
||||
shape = SubResource("BoxShape3D_p1ebg")
|
||||
|
||||
[node name="Torretta" type="StaticBody3D" parent="."]
|
||||
transform = Transform3D(-0.810819, 0, 0.585297, 0, 1, 0, -0.585297, 0, -0.810819, -11.1919, 0.928251, 6.08668)
|
||||
script = ExtResource("15_058li")
|
||||
|
||||
[node name="turret" parent="Torretta" instance=ExtResource("16_upw73")]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Torretta"]
|
||||
transform = Transform3D(1, 0, -2.98023e-08, 0, 1, 0, 2.98023e-08, 0, 1, 0, 1.09828, 0)
|
||||
shape = SubResource("BoxShape3D_hwxik")
|
||||
|
||||
[node name="RayCast3D" type="RayCast3D" parent="Torretta"]
|
||||
|
||||
[connection signal="timeout" from="UI/TextBox/Timer" to="UI/TextBox" method="_on_timer_timeout"]
|
||||
[connection signal="body_entered" from="Buccia" to="Buccia" method="_on_body_entered"]
|
||||
[connection signal="body_entered" from="Buccia2" to="Buccia2" method="_on_body_entered"]
|
||||
|
|
36
Torretta.gd
Normal file
36
Torretta.gd
Normal file
|
@ -0,0 +1,36 @@
|
|||
extends StaticBody3D
|
||||
|
||||
@onready var player: Player = get_tree().root.find_children("Player", "Player", true, false)[0]
|
||||
|
||||
|
||||
@export var max_distance: float = 30.0
|
||||
@export var rotation_speed = 0.1
|
||||
|
||||
var bullet = preload("res://obstacles/bullet.tscn")
|
||||
var cooldown = 0
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
func _physics_process(delta):
|
||||
var distance = player.global_position.distance_to(global_position)
|
||||
if distance > max_distance:
|
||||
return
|
||||
|
||||
rotation.y = (global_position - player.global_position).signed_angle_to(Vector3.FORWARD, Vector3.DOWN) + PI/2
|
||||
|
||||
if cooldown > 0:
|
||||
cooldown -= delta
|
||||
else:
|
||||
var bull = bullet.instantiate()
|
||||
bull.global_position = global_position
|
||||
bull.set_linear_velocity((player.global_position - global_position).normalized() * 50)
|
||||
|
||||
get_tree().root.add_child(bull)
|
||||
cooldown = 5
|
||||
|
||||
|
||||
|
||||
|
11
bullet.gd
Normal file
11
bullet.gd
Normal file
|
@ -0,0 +1,11 @@
|
|||
extends Node3D
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
pass
|
18
obstacles/bullet.gd
Normal file
18
obstacles/bullet.gd
Normal file
|
@ -0,0 +1,18 @@
|
|||
extends Node3D
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
pass
|
||||
|
||||
|
||||
func _on_body_entered(body):
|
||||
if body is Player:
|
||||
body.velocity += (global_position - body.global_position).normalized() * 5
|
||||
print("AAAAAA")
|
||||
queue_free()
|
24
obstacles/bullet.tscn
Normal file
24
obstacles/bullet.tscn
Normal file
|
@ -0,0 +1,24 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://c1p6udf66lht2"]
|
||||
|
||||
[ext_resource type="Script" path="res://obstacles/bullet.gd" id="1_dawle"]
|
||||
|
||||
[sub_resource type="CylinderMesh" id="CylinderMesh_nnt0g"]
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_rk7k5"]
|
||||
radius = 0.58729
|
||||
|
||||
[node name="Bullet" type="RigidBody3D"]
|
||||
transform = Transform3D(-4.37114e-08, 1, 4.37114e-08, 0, -4.37114e-08, 1, 1, 4.37114e-08, 1.91069e-15, 0, 0, 0)
|
||||
collision_layer = 4
|
||||
collision_mask = 4
|
||||
script = ExtResource("1_dawle")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(0.4, 0, 0, 0, 0.4, 0, 0, 0, 0.4, 0, 0, 0)
|
||||
mesh = SubResource("CylinderMesh_nnt0g")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(0.4, 0, 0, 0, 0.4, -3.34074e-23, 0, 3.34074e-23, 0.4, 0, 0, 0)
|
||||
shape = SubResource("CylinderShape3D_rk7k5")
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
Loading…
Reference in a new issue