From 97c297f3b07d1d7a7422b17dc84bf35ac0c5e142 Mon Sep 17 00:00:00 2001 From: Moonshrike Date: Mon, 1 Nov 2021 14:25:40 +0200 Subject: [PATCH] added some trajectories --- Pavels/bullet_trajectory/Bullet.gd | 37 +++++++++++++++++++-- Pavels/bullet_trajectory/Env.gd | 6 +--- Pavels/bullet_trajectory/KinematicBody2D.gd | 2 +- Pavels/bullet_trajectory/project.godot | 32 ++++++++++++++---- 4 files changed, 62 insertions(+), 15 deletions(-) diff --git a/Pavels/bullet_trajectory/Bullet.gd b/Pavels/bullet_trajectory/Bullet.gd index 2850a8b..04f9c92 100644 --- a/Pavels/bullet_trajectory/Bullet.gd +++ b/Pavels/bullet_trajectory/Bullet.gd @@ -1,12 +1,13 @@ extends Area2D -export var speed = 40 +export var speed = 100 var velocity = Vector2() var rot = Vector2() var time = 0 export var amplitude = 4 export var frequency = 5 +var gravitile = 5 func follow_line_trajectory(): @@ -19,11 +20,41 @@ func follow_sine_trajectory(): pass func follow_parabolic_trajectory(): - pass + velocity.x = 5 + velocity.y = 1 * time * gravitile + +func follow_n_parabolic_trajectory(): + velocity.x = 5 + velocity.y = -1 * time * gravitile + + func follow_hyperbolic_trajectory(): - pass + velocity.x = gravitile * time + velocity.y = 1 +func follow_n_hyperbolic_trajectory(): + velocity.x = gravitile * time + velocity.y = -1 + + +func chosen_trajectory(): + if Input.is_action_just_pressed("line"): + follow_line_trajectory() + elif Input.is_action_just_pressed("parab"): + follow_parabolic_trajectory() + elif Input.is_action_just_pressed("n_parab"): + follow_n_parabolic_trajectory() + elif Input.is_action_just_pressed("hyper"): + follow_hyperbolic_trajectory() + elif Input.is_action_just_pressed("n_hyper"): + follow_n_hyperbolic_trajectory() + elif Input.is_action_just_pressed("sine"): + follow_sine_trajectory() + else: + follow_line_trajectory() + + func _process(delta): follow_sine_trajectory() time += delta diff --git a/Pavels/bullet_trajectory/Env.gd b/Pavels/bullet_trajectory/Env.gd index 9e15eae..1d470f0 100644 --- a/Pavels/bullet_trajectory/Env.gd +++ b/Pavels/bullet_trajectory/Env.gd @@ -3,10 +3,6 @@ extends Node2D onready var bullet = preload("res://Bullet.tscn") var time = 0 -#func _ready(): -# connect("body_entered", self, "_on_Bullet_body_entered") - - func trigger(): var b = bullet.instance() @@ -15,5 +11,5 @@ func trigger(): func _process(delta): time += delta - if time > 10: + if time > 17: queue_free() diff --git a/Pavels/bullet_trajectory/KinematicBody2D.gd b/Pavels/bullet_trajectory/KinematicBody2D.gd index 1ee89ea..3f902fe 100644 --- a/Pavels/bullet_trajectory/KinematicBody2D.gd +++ b/Pavels/bullet_trajectory/KinematicBody2D.gd @@ -19,7 +19,7 @@ func get_input(): movement.y += 10 if Input.is_action_pressed("ui_up"): movement.y -= 10 - if Input.is_action_just_pressed("shoot"): + if Input.is_action_pressed("shoot"): shoot() func _physics_process(delta): diff --git a/Pavels/bullet_trajectory/project.godot b/Pavels/bullet_trajectory/project.godot index 2a2df83..47baf24 100644 --- a/Pavels/bullet_trajectory/project.godot +++ b/Pavels/bullet_trajectory/project.godot @@ -55,14 +55,34 @@ gun_down={ "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null) ] } -sine={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":48,"unicode":0,"echo":false,"script":null) - ] -} line={ "deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":57,"unicode":0,"echo":false,"script":null) +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777351,"unicode":0,"echo":false,"script":null) + ] +} +parab={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777352,"unicode":0,"echo":false,"script":null) + ] +} +n_parab={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777353,"unicode":0,"echo":false,"script":null) + ] +} +hyper={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777354,"unicode":0,"echo":false,"script":null) + ] +} +n_hyper={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777355,"unicode":0,"echo":false,"script":null) + ] +} +sine={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777356,"unicode":0,"echo":false,"script":null) ] }