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_height=600
|
||||
window/stretch/mode="2d"
|
||||
window/stretch/aspect="keep"
|
||||
|
||||
[input]
|
||||
|
||||
|
||||
@ -107,10 +107,6 @@ func _process(delta: float) -> void:
|
||||
if username_text_instance != null:
|
||||
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_state = get_user_state()
|
||||
@ -141,7 +137,6 @@ func _process(delta: float) -> void:
|
||||
func _physics_process(delta) -> void:
|
||||
if get_tree().has_network_peer():
|
||||
if is_network_master() and visible:
|
||||
look_at(get_global_mouse_position())
|
||||
if "0" in VDIR:
|
||||
if VDIR["1"]["0"]["ray"]["length"] - dimensions["collider"]["radius"] > 2 and jumpState == false:
|
||||
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():
|
||||
move_and_slide(puppet_velocity * movementSpeed)
|
||||
if hp <= 0:
|
||||
if get_tree().is_network_server():
|
||||
rpc("destroy")
|
||||
|
||||
|
||||
|
||||
func _draw():
|
||||
for vector_type in VDIR:
|
||||
@ -289,7 +289,7 @@ func _on_hit_timer_timeout():
|
||||
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 area.is_in_group("Player_damager") and area.get_parent().player_owner != int(name):
|
||||
rpc("hit_by_damager", area.get_parent().damage)
|
||||
@ -308,8 +308,8 @@ sync func enable() -> void:
|
||||
update_shoot_mode(false)
|
||||
username_text_instance.visible = true
|
||||
visible = true
|
||||
$CollisionShape2D.disabled = false
|
||||
$Hitbox/CollisionShape2D.disabled = false
|
||||
$player_collider.disabled = false
|
||||
$hitbox/CollisionShape2D.disabled = false
|
||||
|
||||
if get_tree().has_network_peer():
|
||||
if is_network_master():
|
||||
@ -337,5 +337,3 @@ func _exit_tree() -> void:
|
||||
if is_network_master():
|
||||
Global.player_master = null
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,14 +1,24 @@
|
||||
extends Sprite
|
||||
|
||||
export(int) var speed = 100
|
||||
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
|
||||
|
||||
export(int) var speed = 1400
|
||||
#export(int) var speed = 1400
|
||||
export(int) var damage = 25
|
||||
|
||||
puppet var puppet_position setget puppet_position_set
|
||||
puppet var puppet_velocity = Vector2(0, 0)
|
||||
puppet var puppet_rotation = 0
|
||||
puppet var bullet_position setget bullet_position_set
|
||||
|
||||
onready var initial_position = global_position
|
||||
|
||||
@ -24,8 +34,9 @@ func _ready() -> void:
|
||||
velocity = velocity.rotated(player_rotation)
|
||||
rotation = player_rotation
|
||||
rset("puppet_velocity", velocity)
|
||||
rset("puppet_rotation", rotation)
|
||||
#rset("puppet_rotation", rotation)
|
||||
rset("puppet_position", global_position)
|
||||
rset("bullet_position", bullet_position)
|
||||
|
||||
visible = true
|
||||
|
||||
@ -33,6 +44,9 @@ func _ready() -> void:
|
||||
func _process(delta: float) -> void:
|
||||
if get_tree().has_network_peer():
|
||||
if is_network_master():
|
||||
follow_sine_trajectory()
|
||||
time += delta
|
||||
#global_position += velocity * speed * delta
|
||||
global_position += velocity * speed * delta
|
||||
else:
|
||||
rotation = puppet_rotation
|
||||
@ -44,11 +58,45 @@ func puppet_position_set(new_value) -> void:
|
||||
global_position = puppet_position
|
||||
|
||||
|
||||
func bullet_position_set(new_value) -> void:
|
||||
bullet_position = new_value
|
||||
global_position = bullet_position
|
||||
|
||||
|
||||
sync func destroy() -> void:
|
||||
queue_free()
|
||||
|
||||
|
||||
func _on_Destroy_timer_timeout():
|
||||
func _on_destroy_timer_timeout():
|
||||
if get_tree().has_network_peer():
|
||||
if get_tree().is_network_server():
|
||||
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 device_ip_address = $UI/device_ip_address
|
||||
onready var start_game = $UI/start_game
|
||||
onready var floor_ = $floor
|
||||
|
||||
|
||||
func _ready():
|
||||
@ -34,17 +33,14 @@ func _ready():
|
||||
current_player_for_spawn_location_number = player
|
||||
else:
|
||||
start_game.hide()
|
||||
floor_.hide()
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if get_tree().network_peer != null:
|
||||
if get_tree().get_network_connected_peers().size() >= (min_players - 1) and get_tree().is_network_server():
|
||||
start_game.show()
|
||||
floor_.show()
|
||||
else:
|
||||
start_game.hide()
|
||||
floor_.hide()
|
||||
|
||||
|
||||
func _player_connected(id) -> void:
|
||||
|
||||
@ -21,6 +21,7 @@ visible = false
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="destroy_timer" type="Timer" parent="."]
|
||||
wait_time = 5.0
|
||||
one_shot = true
|
||||
autostart = true
|
||||
|
||||
|
||||
@ -100,7 +100,7 @@ __meta__ = {
|
||||
}
|
||||
|
||||
[node name="floor" parent="." instance=ExtResource( 4 )]
|
||||
position = Vector2( 962.997, 996.068 )
|
||||
position = Vector2( 960, 1096 )
|
||||
scale = Vector2( 2, 1 )
|
||||
|
||||
[connection signal="pressed" from="multiplayer_configure/create_server" to="." method="_on_create_server_pressed"]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user