mirror of
https://github.com/kristoferssolo/FuncIt.git
synced 2026-03-22 00:26:23 +00:00
Merge branch 'master' into client-sync
This commit is contained in:
@@ -31,7 +31,7 @@ func _process(delta):
|
||||
# Get the active player and allow their input into adjusting function.
|
||||
print("Awaiting player input and processing it to adjust aim.")
|
||||
# DO FOR EACH PLAYER - AT THE SAME TIME
|
||||
if gameControllerStates["allowShooot"]:
|
||||
if gameControllerStates["allowShoot"]:
|
||||
# Enable function locking feature and prepare for shooting phase -- simulatingEnvironment = true
|
||||
print("Awaiting player function confirmation.")
|
||||
# DO FOR EACH PLAYER - AT THE SAME TIME
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
extends AnimatedSprite
|
||||
|
||||
var trajectory:String = 'line'
|
||||
var trajectory_line = 'line'
|
||||
|
||||
var bullet_trajectory = {
|
||||
'line' : preload("res://source/entities/shooting/Line_Trajectory/Line_Env.tscn"),
|
||||
@@ -10,25 +11,42 @@ var bullet_trajectory = {
|
||||
}
|
||||
|
||||
func choose_trajectory():
|
||||
trajectory
|
||||
trajectory_line
|
||||
if Input.is_action_just_pressed("line"):
|
||||
trajectory = 'line'
|
||||
trajectory_line = 'line'
|
||||
elif Input.is_action_just_pressed("sine"):
|
||||
trajectory = 'sine'
|
||||
trajectory_line = 'sine'
|
||||
elif Input.is_action_just_pressed("parab"):
|
||||
trajectory = 'parab'
|
||||
trajectory_line = 'parab'
|
||||
elif Input.is_action_just_pressed("hyper"):
|
||||
trajectory = 'hyper'
|
||||
trajectory_line = 'hyper'
|
||||
|
||||
|
||||
func shoot(trajectory:String):
|
||||
var bullet = bullet_trajectory[trajectory].instance()
|
||||
get_parent().get_parent().get_parent().add_child(bullet)
|
||||
bullet.global_position = $Position2D.global_position
|
||||
bullet.global_rotation = $Position2D.global_rotation
|
||||
bullet.global_position = $Shooting_Point.global_position
|
||||
bullet.global_rotation = $Shooting_Point.global_rotation
|
||||
pass
|
||||
|
||||
|
||||
func enable_trajectory_line(trajectory_line:String):
|
||||
var x = bullet_trajectory[trajectory_line].instance()
|
||||
get_parent().get_parent().get_parent().add_child(x)
|
||||
x.global_position = $Shooting_Point.global_position
|
||||
x.global_rotation = $Shooting_Point.global_rotation
|
||||
|
||||
|
||||
|
||||
func _process(delta):
|
||||
choose_trajectory()
|
||||
enable_trajectory_line(trajectory_line)
|
||||
if Input.is_action_just_pressed("input_shoot"):
|
||||
pass
|
||||
elif Input.is_action_just_released("input_shoot"):
|
||||
shoot(trajectory)
|
||||
|
||||
@@ -1,16 +1,21 @@
|
||||
extends StaticBody2D # Y = aX
|
||||
extends Line2D
|
||||
|
||||
onready var bullet_env = preload("res://source/entities/shooting/Hyperbolic_Trajectory/Hyperbolic_Env.tscn")
|
||||
export var speed_hyper = 100
|
||||
var velocity = Vector2(0, 0)
|
||||
var dot_position = Vector2(0, 0)
|
||||
|
||||
var time = 0.05
|
||||
var a_parameter = 1
|
||||
var b_parameter = 1
|
||||
|
||||
|
||||
func shoot():
|
||||
var bullet = bullet_env.instance()
|
||||
get_parent().get_parent().get_parent().add_child(bullet)
|
||||
bullet.global_position = $Position2D.global_position
|
||||
bullet.global_rotation = $Position2D.global_rotation
|
||||
|
||||
|
||||
func _draw():
|
||||
velocity.x = 10
|
||||
velocity.y = a_parameter/(time*b_parameter)
|
||||
dot_position += velocity * speed_hyper * 0.06944
|
||||
draw_circle(dot_position, 1, Color(225, 225, 225))
|
||||
time += 0.06944
|
||||
|
||||
func _process(delta):
|
||||
if Input.is_action_just_pressed("input_shoot"):
|
||||
shoot()
|
||||
update()
|
||||
|
||||
|
||||
@@ -1,21 +1,22 @@
|
||||
extends Sprite
|
||||
|
||||
var velocity = Vector2()
|
||||
var speed = 1
|
||||
var time = 0.5
|
||||
var gravitile = 5
|
||||
var speed_hyper = 100
|
||||
var time = 0.05
|
||||
var a_parameter = 1
|
||||
var b_parameter = 1
|
||||
|
||||
|
||||
|
||||
func follow_hyperbolic_trajectory():
|
||||
velocity.x = gravitile * time
|
||||
velocity.y = 1 / time
|
||||
velocity.x = 5
|
||||
velocity.y = a_parameter/(time*b_parameter)
|
||||
|
||||
|
||||
func _process(delta):
|
||||
follow_hyperbolic_trajectory()
|
||||
time += delta
|
||||
position += velocity * speed * delta
|
||||
position += velocity * speed_hyper * delta
|
||||
|
||||
|
||||
func _on_hitbox_body_entered(body):
|
||||
|
||||
@@ -1,16 +1,20 @@
|
||||
extends StaticBody2D # Y = aX
|
||||
extends Line2D
|
||||
|
||||
onready var bullet_env = preload("res://source/entities/shooting/Line_Trajectory/Line_Env.tscn")
|
||||
export var speed = 100
|
||||
var velocity = Vector2(0, 0)
|
||||
var dot_position = Vector2(0, 0)
|
||||
|
||||
var time = 0
|
||||
var a_parameter = 0
|
||||
|
||||
|
||||
func shoot():
|
||||
var bullet = bullet_env.instance()
|
||||
get_parent().get_parent().get_parent().add_child(bullet)
|
||||
bullet.global_position = $Position2D.global_position
|
||||
bullet.global_rotation = $Position2D.global_rotation
|
||||
|
||||
|
||||
func _draw():
|
||||
velocity.y = 10 * a_parameter
|
||||
velocity.x = 10
|
||||
dot_position += velocity * speed * 0.06944
|
||||
draw_circle(dot_position, 1, Color(225, 225, 225))
|
||||
time += 0.06944
|
||||
|
||||
func _process(delta):
|
||||
if Input.is_action_just_pressed("input_shoot"):
|
||||
shoot()
|
||||
update()
|
||||
|
||||
|
||||
@@ -1,37 +1,22 @@
|
||||
extends Sprite
|
||||
|
||||
export var speed = 100
|
||||
export var speed_line = 1000
|
||||
var velocity = Vector2()
|
||||
|
||||
var time = 0
|
||||
var a_parameter = 0
|
||||
|
||||
|
||||
func follow_line_trajectory():
|
||||
velocity = Vector2(10, 0)
|
||||
velocity.x = time
|
||||
velocity.y = time*a_parameter
|
||||
|
||||
#func follow_parabolic_trajectory():
|
||||
#velocity.x = 5
|
||||
#velocity.y = 1 * time * gravitile
|
||||
#return velocity
|
||||
|
||||
#func follow_hyperbolic_trajectory():
|
||||
#velocity.x = gravitile * time
|
||||
#velocity.y = 1
|
||||
#return velocity
|
||||
|
||||
#func input():
|
||||
#if Input.is_action_just_pressed("line"):
|
||||
#return follow_sine_trajectory()
|
||||
#elif Input.is_action_just_pressed("sine"):
|
||||
#return follow_line_trajectory()
|
||||
#else:
|
||||
#print('Trajectory is not selected')
|
||||
#queue_free()
|
||||
|
||||
func _process(delta):
|
||||
follow_line_trajectory()
|
||||
time += delta
|
||||
position += velocity * speed * delta
|
||||
position += velocity * speed_line * delta
|
||||
|
||||
|
||||
func _on_hitbox_body_entered(body):
|
||||
|
||||
@@ -1,16 +1,23 @@
|
||||
extends StaticBody2D # Y = aX
|
||||
extends Line2D
|
||||
|
||||
onready var bullet_env = preload("res://source/entities/shooting/Parabolic_Trajectory/Parabolic_Env.tscn")
|
||||
var speed_parab = 100
|
||||
var velocity = Vector2(0, 0)
|
||||
var dot_position = Vector2(0, 0)
|
||||
|
||||
var time = 0
|
||||
var a_parameter = 1
|
||||
var b_parameter = 0
|
||||
|
||||
|
||||
func shoot():
|
||||
var bullet = bullet_env.instance()
|
||||
get_parent().get_parent().get_parent().add_child(bullet)
|
||||
bullet.global_position = $Position2D.global_position
|
||||
bullet.global_rotation = $Position2D.global_rotation
|
||||
|
||||
|
||||
func _draw():
|
||||
velocity.y = time*(a_parameter * time + b_parameter)
|
||||
velocity.x = 5
|
||||
dot_position += velocity * speed_parab * 0.06944
|
||||
draw_circle(dot_position, 1, Color(225, 225, 225))
|
||||
time += 0.06944
|
||||
|
||||
func _process(delta):
|
||||
if Input.is_action_just_pressed("input_shoot"):
|
||||
shoot()
|
||||
update()
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,21 +1,22 @@
|
||||
extends Area2D
|
||||
extends Sprite
|
||||
|
||||
export var speed = 100
|
||||
export var speed_parab = 100
|
||||
var velocity = Vector2()
|
||||
|
||||
var time = 0
|
||||
var gravitile = 5
|
||||
var a_parameter = 1
|
||||
var b_parameter = 0
|
||||
|
||||
|
||||
func follow_parabolic_trajectory():
|
||||
velocity.x = 5
|
||||
velocity.y = 1 * time * gravitile
|
||||
velocity.y = time*(a_parameter * time + b_parameter)
|
||||
|
||||
|
||||
func _process(delta):
|
||||
follow_parabolic_trajectory()
|
||||
time += delta
|
||||
position += velocity * speed * delta
|
||||
position += velocity * speed_parab * delta
|
||||
|
||||
|
||||
func _on_hitbox_body_entered(body):
|
||||
|
||||
@@ -4,30 +4,18 @@ extends Line2D
|
||||
export var speed = 100
|
||||
var velocity = Vector2(0, 0)
|
||||
var dot_position = Vector2(0, 0)
|
||||
var dot_array:PoolVector2Array = []
|
||||
|
||||
var time = 0
|
||||
export var amplitude = 4
|
||||
export var frequency = 5
|
||||
|
||||
var maxpoints = 15
|
||||
|
||||
|
||||
func follow_sine_trajectory(time):
|
||||
for x in range(maxpoints):
|
||||
velocity.y = amplitude * cos(time * frequency)
|
||||
velocity.x = 5
|
||||
dot_position += velocity
|
||||
dot_array.append(dot_position)
|
||||
return dot_array
|
||||
|
||||
func construct_a_line():
|
||||
clear_points()
|
||||
for x in range(maxpoints):
|
||||
add_point(follow_sine_trajectory(x))
|
||||
pass
|
||||
func _draw():
|
||||
velocity.y = amplitude * cos(time * frequency)
|
||||
velocity.x = 5
|
||||
dot_position += velocity * speed * 0.06944
|
||||
draw_circle(dot_position, 1, Color(225, 225, 225))
|
||||
time += 0.06944
|
||||
|
||||
func _process(delta):
|
||||
time += delta
|
||||
self.points = follow_sine_trajectory(time)
|
||||
pass
|
||||
update()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
extends Area2D
|
||||
extends Sprite
|
||||
|
||||
export var speed = 100
|
||||
var velocity = Vector2()
|
||||
@@ -7,7 +7,6 @@ var time = 0
|
||||
export var amplitude = 4
|
||||
export var frequency = 5
|
||||
|
||||
|
||||
func follow_sine_trajectory():
|
||||
velocity.y = amplitude * cos(time * frequency)
|
||||
velocity.x = 5
|
||||
|
||||
Reference in New Issue
Block a user