JetActive during movement

pull/11/head
Sascha 2023-10-12 16:40:10 +07:00
parent a0322fe611
commit 71eb8701ef
2 changed files with 26 additions and 1 deletions

@ -87,9 +87,10 @@ normal_enabled = true
normal_scale = 2.0 normal_scale = 2.0
normal_texture = ExtResource("3_2vqaj") normal_texture = ExtResource("3_2vqaj")
[node name="PlayerShip" type="Node3D"] [node name="PlayerShip" type="Node3D" node_paths=PackedStringArray("jet")]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74227e-08, 0, -1, 0, 0, 0) transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74227e-08, 0, -1, 0, 0, 0)
script = ExtResource("1_cpbf1") script = ExtResource("1_cpbf1")
jet = NodePath("RigidBody3D/Jet")
[node name="RigidBody3D" type="RigidBody3D" parent="."] [node name="RigidBody3D" type="RigidBody3D" parent="."]
mass = 100.0 mass = 100.0
@ -107,11 +108,14 @@ skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_jlx1o") surface_material_override/0 = SubResource("StandardMaterial3D_jlx1o")
[node name="Jet" type="Node3D" parent="RigidBody3D"] [node name="Jet" type="Node3D" parent="RigidBody3D"]
visible = false
[node name="JetCore" type="Sprite3D" parent="RigidBody3D/Jet"] [node name="JetCore" type="Sprite3D" parent="RigidBody3D/Jet"]
transform = Transform3D(1, -3.55271e-14, 3.82137e-15, 3.82137e-15, 4.37114e-08, -1, 3.55271e-14, 1, 4.37114e-08, 0, 0.01, -1.392) transform = Transform3D(1, -3.55271e-14, 3.82137e-15, 3.82137e-15, 4.37114e-08, -1, 3.55271e-14, 1, 4.37114e-08, 0, 0.01, -1.392)
shaded = true
texture = ExtResource("5_034vf") texture = ExtResource("5_034vf")
[node name="JetFlare" type="Sprite3D" parent="RigidBody3D/Jet"] [node name="JetFlare" type="Sprite3D" parent="RigidBody3D/Jet"]
transform = Transform3D(1, -2.84217e-14, 3.82137e-15, 3.82137e-15, 4.37114e-08, -1, 2.84217e-14, 1, 4.37114e-08, 0, -0.01, -1.392) transform = Transform3D(1, -2.84217e-14, 3.82137e-15, 3.82137e-15, 4.37114e-08, -1, 2.84217e-14, 1, 4.37114e-08, 0, -0.01, -1.392)
shaded = true
texture = ExtResource("4_87x8f") texture = ExtResource("4_87x8f")

@ -2,17 +2,38 @@ using Godot;
public partial class PlayerShip : Node3D { public partial class PlayerShip : Node3D {
[Export] private float moveVelocity = 10f; [Export] private float moveVelocity = 10f;
[Export] private Node3D jet;
private const float jetTimerMax = 0.5f;
private float jetTimer = jetTimerMax;
private bool jetActive;
private bool JetActive {
get => jetActive;
set {
jetTimer = jetTimerMax;
jetActive = value;
jet.Visible = value;
GD.Print($"JetActive is {value}");
}
}
public override void _Ready() => Position = new(0, 0, 5); public override void _Ready() => Position = new(0, 0, 5);
public override void _Process(double delta) { public override void _Process(double delta) {
HandleMovement(delta); HandleMovement(delta);
if (JetActive) {
jetTimer -= (float)delta;
// GD.Print($"{jetTimer}/{jetTimerMax}");
}
if (jetTimer < 0) JetActive = false;
} }
private void HandleMovement(double delta) { private void HandleMovement(double delta) {
Vector3 moveDir = new(); Vector3 moveDir = new();
Vector3 rotDir = new(0,180,0); Vector3 rotDir = new(0,180,0);
if (Input.IsKeyPressed(Key.A) || Input.IsKeyPressed(Key.D) || Input.IsKeyPressed(Key.W) || Input.IsKeyPressed(Key.S)) JetActive = true;
if (Input.IsKeyPressed(Key.A)) { if (Input.IsKeyPressed(Key.A)) {
moveDir.X -= moveVelocity * (float)delta; moveDir.X -= moveVelocity * (float)delta;
rotDir.Z = -30f; rotDir.Z = -30f;