LookAt mouse position

master
Sascha 2023-09-17 13:01:22 +07:00
parent 5b4d8801eb
commit 53bfd71bd7
3 changed files with 28 additions and 13 deletions

@ -9,7 +9,7 @@
[ext_resource type="PackedScene" uid="uid://bxa0dvonmob7f" path="res://scenes/RedBox.tscn" id="5_o3ohm"]
[ext_resource type="PackedScene" uid="uid://dgufgjsdd5407" path="res://scenes/PurpleBox.tscn" id="6_kqrbp"]
[ext_resource type="Script" path="res://scripts/ShootController.cs" id="9_tfx87"]
[ext_resource type="PackedScene" uid="uid://by8bcu3t3opfd" path="res://graphics/blasterA.glb" id="10_xs3ad"]
[ext_resource type="PackedScene" uid="uid://ci87cvbfpu83q" path="res://scenes/blasterA.tscn" id="10_sekn8"]
[sub_resource type="Sky" id="Sky_kc6p3"]
@ -114,14 +114,19 @@ offset_right = 95.0
offset_bottom = 102.0
text = "Collisions: 0"
[node name="ShootController" type="Node" parent="."]
[node name="Blaster" type="Node" parent="."]
[node name="ShootController" type="Node" parent="Blaster" node_paths=PackedStringArray("blaster", "shootParticle")]
script = ExtResource("9_tfx87")
blaster = NodePath("../blasterA")
shootParticle = NodePath("../blasterA/ShootParticle")
[node name="blasterA" parent="." instance=ExtResource("10_xs3ad")]
transform = Transform3D(-5, 0, -4.76837e-07, 0, 5, 0, 4.76837e-07, 0, -5, 0, 20, 45)
[node name="blasterA" parent="Blaster" instance=ExtResource("10_sekn8")]
transform = Transform3D(-5, 0, -7.54979e-07, 0, 5, 0, 7.54979e-07, 0, -5, 0, 15, 40)
[node name="GPUParticles3D" type="GPUParticles3D" parent="blasterA"]
transform = Transform3D(1.91068e-16, 0.1, 8.88178e-16, -0.1, 1.91069e-16, -4.37114e-09, -4.37114e-09, -8.88178e-16, 0.1, -0.00528272, 0.116093, 0.358054)
[node name="ShootParticle" type="GPUParticles3D" parent="Blaster/blasterA"]
transform = Transform3D(4.68955e-16, 0.1, -6.3573e-09, -0.1, 1.91069e-16, -4.37114e-09, -4.37114e-09, 6.3573e-09, 0.1, -5.71167e-08, 0.119197, 0.378267)
emitting = false
amount = 100
lifetime = 60.0
speed_scale = 5.0

@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://ci87cvbfpu83q"]
[ext_resource type="PackedScene" uid="uid://by8bcu3t3opfd" path="res://graphics/blasterA.glb" id="1_hb01c"]
[node name="blasterA" instance=ExtResource("1_hb01c")]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0)

@ -2,14 +2,18 @@ using Godot;
namespace Evolution.scripts;
public partial class ShootController : Node
{
public partial class ShootController : Node {
[Export] private Node3D blaster;
[Export] private GpuParticles3D shootParticle;
public override void _Ready() => GD.Print($"{blaster}: {shootParticle}");
public override void _Input(InputEvent @event) {
if (@event is InputEventMouseButton eventMouseButton)
GD.Print($"Mouse Click/Unclick at: {eventMouseButton.Position}");
else if (@event is InputEventMouseMotion eventMouseMotion)
GD.Print($"Mouse Motion at: {eventMouseMotion.Position}");
if (@event is InputEventMouseButton eventMouseButton) {
shootParticle.Emitting = eventMouseButton.Pressed;
}
else if (@event is InputEventMouseMotion eventMouseMotion) {
blaster.LookAt(new(eventMouseMotion.Position.X, eventMouseMotion.Position.Y, 0));
// blaster.RotateY(eventMouseMotion.GlobalPosition.Y);
}
}
}