mirror of
https://github.com/kristoferssolo/FuncIt.git
synced 2025-10-21 19:30:35 +00:00
Added bullet trajectory
This commit is contained in:
parent
8f31e0c510
commit
cae282c49a
@ -27,6 +27,7 @@ window/size/height=1080
|
|||||||
window/size/test_width=1024
|
window/size/test_width=1024
|
||||||
window/size/test_height=600
|
window/size/test_height=600
|
||||||
window/stretch/mode="2d"
|
window/stretch/mode="2d"
|
||||||
|
window/stretch/aspect="keep"
|
||||||
|
|
||||||
[input]
|
[input]
|
||||||
|
|
||||||
|
|||||||
@ -107,10 +107,6 @@ func _process(delta: float) -> void:
|
|||||||
if username_text_instance != null:
|
if username_text_instance != null:
|
||||||
username_text_instance.name = "username" + name
|
username_text_instance.name = "username" + name
|
||||||
|
|
||||||
if hp <= 0:
|
|
||||||
if get_tree().is_network_server():
|
|
||||||
rpc("destroy")
|
|
||||||
|
|
||||||
|
|
||||||
user_input = UIN_preset_pre_processor_instance.update()
|
user_input = UIN_preset_pre_processor_instance.update()
|
||||||
user_state = get_user_state()
|
user_state = get_user_state()
|
||||||
@ -141,7 +137,6 @@ func _process(delta: float) -> void:
|
|||||||
func _physics_process(delta) -> void:
|
func _physics_process(delta) -> void:
|
||||||
if get_tree().has_network_peer():
|
if get_tree().has_network_peer():
|
||||||
if is_network_master() and visible:
|
if is_network_master() and visible:
|
||||||
look_at(get_global_mouse_position())
|
|
||||||
if "0" in VDIR:
|
if "0" in VDIR:
|
||||||
if VDIR["1"]["0"]["ray"]["length"] - dimensions["collider"]["radius"] > 2 and jumpState == false:
|
if VDIR["1"]["0"]["ray"]["length"] - dimensions["collider"]["radius"] > 2 and jumpState == false:
|
||||||
gravityVector = (VDIR["1"]["0"]["ray"]["position"] - user_state["global_position"]).normalized()
|
gravityVector = (VDIR["1"]["0"]["ray"]["position"] - user_state["global_position"]).normalized()
|
||||||
@ -198,6 +193,11 @@ func _physics_process(delta) -> void:
|
|||||||
|
|
||||||
if not tween.is_active():
|
if not tween.is_active():
|
||||||
move_and_slide(puppet_velocity * movementSpeed)
|
move_and_slide(puppet_velocity * movementSpeed)
|
||||||
|
if hp <= 0:
|
||||||
|
if get_tree().is_network_server():
|
||||||
|
rpc("destroy")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func _draw():
|
func _draw():
|
||||||
for vector_type in VDIR:
|
for vector_type in VDIR:
|
||||||
@ -289,7 +289,7 @@ func _on_hit_timer_timeout():
|
|||||||
modulate = Color(1, 1, 1, 1)
|
modulate = Color(1, 1, 1, 1)
|
||||||
|
|
||||||
|
|
||||||
func _on_Hitbox_area_entered(area):
|
func _on_hitbox_area_entered(area):
|
||||||
if get_tree().is_network_server():
|
if get_tree().is_network_server():
|
||||||
if area.is_in_group("Player_damager") and area.get_parent().player_owner != int(name):
|
if area.is_in_group("Player_damager") and area.get_parent().player_owner != int(name):
|
||||||
rpc("hit_by_damager", area.get_parent().damage)
|
rpc("hit_by_damager", area.get_parent().damage)
|
||||||
@ -308,8 +308,8 @@ sync func enable() -> void:
|
|||||||
update_shoot_mode(false)
|
update_shoot_mode(false)
|
||||||
username_text_instance.visible = true
|
username_text_instance.visible = true
|
||||||
visible = true
|
visible = true
|
||||||
$CollisionShape2D.disabled = false
|
$player_collider.disabled = false
|
||||||
$Hitbox/CollisionShape2D.disabled = false
|
$hitbox/CollisionShape2D.disabled = false
|
||||||
|
|
||||||
if get_tree().has_network_peer():
|
if get_tree().has_network_peer():
|
||||||
if is_network_master():
|
if is_network_master():
|
||||||
@ -337,5 +337,3 @@ func _exit_tree() -> void:
|
|||||||
if is_network_master():
|
if is_network_master():
|
||||||
Global.player_master = null
|
Global.player_master = null
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,14 +1,24 @@
|
|||||||
extends Sprite
|
extends Sprite
|
||||||
|
|
||||||
|
export(int) var speed = 100
|
||||||
var velocity = Vector2(1, 0)
|
var velocity = Vector2(1, 0)
|
||||||
|
|
||||||
|
var time = 0
|
||||||
|
export var amplitude = 4
|
||||||
|
export var frequency = 5
|
||||||
|
var gravitile = 5
|
||||||
|
|
||||||
|
|
||||||
|
#var velocity = Vector2(1, 0)
|
||||||
var player_rotation
|
var player_rotation
|
||||||
|
|
||||||
export(int) var speed = 1400
|
#export(int) var speed = 1400
|
||||||
export(int) var damage = 25
|
export(int) var damage = 25
|
||||||
|
|
||||||
puppet var puppet_position setget puppet_position_set
|
puppet var puppet_position setget puppet_position_set
|
||||||
puppet var puppet_velocity = Vector2(0, 0)
|
puppet var puppet_velocity = Vector2(0, 0)
|
||||||
puppet var puppet_rotation = 0
|
puppet var puppet_rotation = 0
|
||||||
|
puppet var bullet_position setget bullet_position_set
|
||||||
|
|
||||||
onready var initial_position = global_position
|
onready var initial_position = global_position
|
||||||
|
|
||||||
@ -24,8 +34,9 @@ func _ready() -> void:
|
|||||||
velocity = velocity.rotated(player_rotation)
|
velocity = velocity.rotated(player_rotation)
|
||||||
rotation = player_rotation
|
rotation = player_rotation
|
||||||
rset("puppet_velocity", velocity)
|
rset("puppet_velocity", velocity)
|
||||||
rset("puppet_rotation", rotation)
|
#rset("puppet_rotation", rotation)
|
||||||
rset("puppet_position", global_position)
|
rset("puppet_position", global_position)
|
||||||
|
rset("bullet_position", bullet_position)
|
||||||
|
|
||||||
visible = true
|
visible = true
|
||||||
|
|
||||||
@ -33,6 +44,9 @@ func _ready() -> void:
|
|||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
if get_tree().has_network_peer():
|
if get_tree().has_network_peer():
|
||||||
if is_network_master():
|
if is_network_master():
|
||||||
|
follow_sine_trajectory()
|
||||||
|
time += delta
|
||||||
|
#global_position += velocity * speed * delta
|
||||||
global_position += velocity * speed * delta
|
global_position += velocity * speed * delta
|
||||||
else:
|
else:
|
||||||
rotation = puppet_rotation
|
rotation = puppet_rotation
|
||||||
@ -44,11 +58,45 @@ func puppet_position_set(new_value) -> void:
|
|||||||
global_position = puppet_position
|
global_position = puppet_position
|
||||||
|
|
||||||
|
|
||||||
|
func bullet_position_set(new_value) -> void:
|
||||||
|
bullet_position = new_value
|
||||||
|
global_position = bullet_position
|
||||||
|
|
||||||
|
|
||||||
sync func destroy() -> void:
|
sync func destroy() -> void:
|
||||||
queue_free()
|
queue_free()
|
||||||
|
|
||||||
|
|
||||||
func _on_Destroy_timer_timeout():
|
func _on_destroy_timer_timeout():
|
||||||
if get_tree().has_network_peer():
|
if get_tree().has_network_peer():
|
||||||
if get_tree().is_network_server():
|
if get_tree().is_network_server():
|
||||||
rpc("destroy")
|
rpc("destroy")
|
||||||
|
|
||||||
|
|
||||||
|
func follow_line_trajectory():
|
||||||
|
velocity = Vector2(1, 0) * 10
|
||||||
|
|
||||||
|
|
||||||
|
func follow_sine_trajectory():
|
||||||
|
velocity.y = amplitude * cos(time * frequency)
|
||||||
|
velocity.x = 5
|
||||||
|
|
||||||
|
|
||||||
|
func follow_parabolic_trajectory():
|
||||||
|
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():
|
||||||
|
velocity.x = gravitile * time
|
||||||
|
velocity.y = 1
|
||||||
|
|
||||||
|
|
||||||
|
func follow_n_hyperbolic_trajectory():
|
||||||
|
velocity.x = gravitile * time
|
||||||
|
velocity.y = -1
|
||||||
|
|||||||
@ -10,7 +10,6 @@ onready var multiplayer_config_ui = $multiplayer_configure
|
|||||||
onready var username_text_edit = $multiplayer_configure/username_text_edit
|
onready var username_text_edit = $multiplayer_configure/username_text_edit
|
||||||
onready var device_ip_address = $UI/device_ip_address
|
onready var device_ip_address = $UI/device_ip_address
|
||||||
onready var start_game = $UI/start_game
|
onready var start_game = $UI/start_game
|
||||||
onready var floor_ = $floor
|
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
@ -34,17 +33,14 @@ func _ready():
|
|||||||
current_player_for_spawn_location_number = player
|
current_player_for_spawn_location_number = player
|
||||||
else:
|
else:
|
||||||
start_game.hide()
|
start_game.hide()
|
||||||
floor_.hide()
|
|
||||||
|
|
||||||
|
|
||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
if get_tree().network_peer != null:
|
if get_tree().network_peer != null:
|
||||||
if get_tree().get_network_connected_peers().size() >= (min_players - 1) and get_tree().is_network_server():
|
if get_tree().get_network_connected_peers().size() >= (min_players - 1) and get_tree().is_network_server():
|
||||||
start_game.show()
|
start_game.show()
|
||||||
floor_.show()
|
|
||||||
else:
|
else:
|
||||||
start_game.hide()
|
start_game.hide()
|
||||||
floor_.hide()
|
|
||||||
|
|
||||||
|
|
||||||
func _player_connected(id) -> void:
|
func _player_connected(id) -> void:
|
||||||
|
|||||||
@ -21,6 +21,7 @@ visible = false
|
|||||||
shape = SubResource( 1 )
|
shape = SubResource( 1 )
|
||||||
|
|
||||||
[node name="destroy_timer" type="Timer" parent="."]
|
[node name="destroy_timer" type="Timer" parent="."]
|
||||||
|
wait_time = 5.0
|
||||||
one_shot = true
|
one_shot = true
|
||||||
autostart = true
|
autostart = true
|
||||||
|
|
||||||
|
|||||||
@ -100,7 +100,7 @@ __meta__ = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
[node name="floor" parent="." instance=ExtResource( 4 )]
|
[node name="floor" parent="." instance=ExtResource( 4 )]
|
||||||
position = Vector2( 962.997, 996.068 )
|
position = Vector2( 960, 1096 )
|
||||||
scale = Vector2( 2, 1 )
|
scale = Vector2( 2, 1 )
|
||||||
|
|
||||||
[connection signal="pressed" from="multiplayer_configure/create_server" to="." method="_on_create_server_pressed"]
|
[connection signal="pressed" from="multiplayer_configure/create_server" to="." method="_on_create_server_pressed"]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user