mirror of
https://github.com/kristoferssolo/FuncIt.git
synced 2025-10-21 19:30:35 +00:00
added username on player
This commit is contained in:
parent
4e88129264
commit
9b5a48e5f0
10
Game_4/code/game.gd
Normal file
10
Game_4/code/game.gd
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
extends Node2D
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
get_tree().connect("network_peer_disconnected", self, "_player_disconnected")
|
||||||
|
|
||||||
|
|
||||||
|
func _player_disconnected(id) -> void:
|
||||||
|
if Players.has_node(str(id)):
|
||||||
|
Players.get_node(str(id)).username_text_instance.queue_free()
|
||||||
|
Players.get_node(str(id)).queue_free()
|
||||||
@ -5,6 +5,7 @@ var player = load("res://scenes/player.tscn")
|
|||||||
onready var multiplayer_config_ui = $multiplayer_configure
|
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 = $CanvasLayer/device_ip_address
|
onready var device_ip_address = $CanvasLayer/device_ip_address
|
||||||
|
onready var start_game = $CanvasLayer/start_game
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
@ -14,6 +15,20 @@ func _ready():
|
|||||||
|
|
||||||
device_ip_address.text = Network.ip_address
|
device_ip_address.text = Network.ip_address
|
||||||
|
|
||||||
|
if get_tree().network_peer != null:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
start_game.hide()
|
||||||
|
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
if get_tree().network_peer != null:
|
||||||
|
if get_tree().get_network_connected_peers().size() >= 0 and get_tree().is_network_server():
|
||||||
|
start_game.show()
|
||||||
|
else:
|
||||||
|
start_game.hide()
|
||||||
|
|
||||||
|
|
||||||
func _player_connected(id) -> void:
|
func _player_connected(id) -> void:
|
||||||
print("Player " + str(id) + " has connected")
|
print("Player " + str(id) + " has connected")
|
||||||
instance_player(id)
|
instance_player(id)
|
||||||
@ -22,6 +37,7 @@ func _player_connected(id) -> void:
|
|||||||
func _player_disconnected(id) -> void:
|
func _player_disconnected(id) -> void:
|
||||||
print("Player " + str(id) + " has disconnected")
|
print("Player " + str(id) + " has disconnected")
|
||||||
if Players.has_node(str(id)):
|
if Players.has_node(str(id)):
|
||||||
|
Players.get_node(str(id)).username_text_instance.queue_free()
|
||||||
Players.get_node(str(id)).queue_free()
|
Players.get_node(str(id)).queue_free()
|
||||||
|
|
||||||
|
|
||||||
@ -49,3 +65,12 @@ func instance_player(id) -> void:
|
|||||||
var player_instance = Global.instance_node_at_location(player, Players, Vector2(rand_range(0, 1920), rand_range(0, 1080)))
|
var player_instance = Global.instance_node_at_location(player, Players, Vector2(rand_range(0, 1920), rand_range(0, 1080)))
|
||||||
player_instance.name = str(id)
|
player_instance.name = str(id)
|
||||||
player_instance.set_network_master(id)
|
player_instance.set_network_master(id)
|
||||||
|
player_instance.username = username_text_edit.text
|
||||||
|
|
||||||
|
|
||||||
|
func _on_start_game_pressed():
|
||||||
|
rpc("switch_to_game")
|
||||||
|
|
||||||
|
|
||||||
|
sync func switch_to_game() -> void:
|
||||||
|
get_tree().change_scene("res://scenes/game.tscn")
|
||||||
|
|||||||
@ -9,11 +9,29 @@ var speed = 50
|
|||||||
var velocity = Vector2()
|
var velocity = Vector2()
|
||||||
var fly = false
|
var fly = false
|
||||||
|
|
||||||
|
var username_text = load("res://scenes/username_text.tscn")
|
||||||
|
var username setget username_set
|
||||||
|
var username_text_instance = null
|
||||||
|
|
||||||
puppet var puppet_position = Vector2(0, 0) setget puppet_position_set
|
puppet var puppet_position = Vector2(0, 0) setget puppet_position_set
|
||||||
puppet var puppet_velocity = Vector2()
|
puppet var puppet_velocity = Vector2()
|
||||||
puppet var puppet_rotaion = 0
|
puppet var puppet_rotaion = 0
|
||||||
|
puppet var puppet_username = "" setget puppet_username_set
|
||||||
|
|
||||||
onready var tween = $Tween
|
onready var tween = $Tween
|
||||||
|
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
get_tree().connect("network_peer_connected", self, "_network_peer_connected")
|
||||||
|
username_text_instance = Global.instance_node_at_location(username_text, Players, global_position)
|
||||||
|
username_text_instance.player_following = self
|
||||||
|
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
if username_text_instance != null:
|
||||||
|
username_text_instance.name = "username" + name
|
||||||
|
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
if is_network_master():
|
if is_network_master():
|
||||||
mode_switch(delta)
|
mode_switch(delta)
|
||||||
@ -50,7 +68,6 @@ func movement(delta):
|
|||||||
if Input.is_action_pressed("jump") and is_on_floor():
|
if Input.is_action_pressed("jump") and is_on_floor():
|
||||||
velocity.y -= JUMP_FORCE
|
velocity.y -= JUMP_FORCE
|
||||||
velocity = move_and_slide(velocity, Vector2.UP)
|
velocity = move_and_slide(velocity, Vector2.UP)
|
||||||
print(velocity)
|
|
||||||
|
|
||||||
|
|
||||||
func flying():
|
func flying():
|
||||||
@ -65,7 +82,6 @@ func flying():
|
|||||||
if Input.is_action_pressed("move_up"):
|
if Input.is_action_pressed("move_up"):
|
||||||
velocity.y -= 1
|
velocity.y -= 1
|
||||||
velocity = velocity.normalized() * fly_speed
|
velocity = velocity.normalized() * fly_speed
|
||||||
print(velocity)
|
|
||||||
|
|
||||||
velocity = move_and_slide(velocity)
|
velocity = move_and_slide(velocity)
|
||||||
|
|
||||||
@ -76,12 +92,30 @@ func screen_wrap():
|
|||||||
if position.x >= get_viewport_rect().size.x + 10:
|
if position.x >= get_viewport_rect().size.x + 10:
|
||||||
position.x = 0
|
position.x = 0
|
||||||
|
|
||||||
|
|
||||||
func puppet_position_set(new_value) -> void:
|
func puppet_position_set(new_value) -> void:
|
||||||
puppet_position = new_value
|
puppet_position = new_value
|
||||||
tween.interpolate_property(self, "global_position", global_position, puppet_position, 0.1)
|
tween.interpolate_property(self, "global_position", global_position, puppet_position, 0.1)
|
||||||
tween.start()
|
tween.start()
|
||||||
|
|
||||||
|
|
||||||
|
func username_set(new_value) -> void:
|
||||||
|
username = new_value
|
||||||
|
if is_network_master() and username_text_instance != null:
|
||||||
|
username_text_instance.text = username
|
||||||
|
rset("puppet_username", username)
|
||||||
|
|
||||||
|
|
||||||
|
func puppet_username_set(new_value) -> void:
|
||||||
|
puppet_username = new_value
|
||||||
|
if not is_network_master() and username_text_instance != null:
|
||||||
|
username_text_instance.text = puppet_username
|
||||||
|
|
||||||
|
|
||||||
|
func _network_peer_connected(id) -> void:
|
||||||
|
rset_id(id, "puppet_username", username)
|
||||||
|
|
||||||
|
|
||||||
func _on_network_tick_rate_timeout():
|
func _on_network_tick_rate_timeout():
|
||||||
if is_network_master():
|
if is_network_master():
|
||||||
rset_unreliable("puppet_position", global_position)
|
rset_unreliable("puppet_position", global_position)
|
||||||
|
|||||||
@ -25,9 +25,9 @@ func _on_server_listener_remove_server(serverIp):
|
|||||||
|
|
||||||
|
|
||||||
func _on_manual_setup_pressed():
|
func _on_manual_setup_pressed():
|
||||||
if manual_setup_button.text != "exit setup":
|
if manual_setup_button.text != "Exit setup":
|
||||||
server_ip_text_edit.show()
|
server_ip_text_edit.show()
|
||||||
manual_setup_button.text = "exit setup"
|
manual_setup_button.text = "Exit setup"
|
||||||
server_container.hide()
|
server_container.hide()
|
||||||
server_ip_text_edit.call_deferred("grab_focus")
|
server_ip_text_edit.call_deferred("grab_focus")
|
||||||
else:
|
else:
|
||||||
@ -37,6 +37,7 @@ func _on_manual_setup_pressed():
|
|||||||
|
|
||||||
|
|
||||||
func _on_join_server_pressed():
|
func _on_join_server_pressed():
|
||||||
|
if server_ip_text_edit.text != "":
|
||||||
Network.ip_address = server_ip_text_edit.text
|
Network.ip_address = server_ip_text_edit.text
|
||||||
hide()
|
hide()
|
||||||
Network.join_server()
|
Network.join_server()
|
||||||
|
|||||||
15
Game_4/code/username_text.gd
Normal file
15
Game_4/code/username_text.gd
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
extends Node2D
|
||||||
|
|
||||||
|
var player_following = null
|
||||||
|
var text = "" setget text_set
|
||||||
|
onready var label = $Label
|
||||||
|
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
if player_following != null:
|
||||||
|
global_position = player_following.global_position
|
||||||
|
|
||||||
|
|
||||||
|
func text_set(new_text) -> void:
|
||||||
|
text = new_text
|
||||||
|
label.text = text
|
||||||
11
Game_4/scenes/game.tscn
Normal file
11
Game_4/scenes/game.tscn
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[gd_scene load_steps=3 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://scenes/floor.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://code/game.gd" type="Script" id=2]
|
||||||
|
|
||||||
|
[node name="game" type="Node2D"]
|
||||||
|
script = ExtResource( 2 )
|
||||||
|
|
||||||
|
[node name="floor" parent="." instance=ExtResource( 1 )]
|
||||||
|
position = Vector2( 960, 1056 )
|
||||||
|
scale = Vector2( 2, 1 )
|
||||||
@ -1,8 +1,7 @@
|
|||||||
[gd_scene load_steps=4 format=2]
|
[gd_scene load_steps=3 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://font/roboto.tres" type="DynamicFont" id=1]
|
[ext_resource path="res://font/roboto.tres" type="DynamicFont" id=1]
|
||||||
[ext_resource path="res://code/network_setup.gd" type="Script" id=2]
|
[ext_resource path="res://code/network_setup.gd" type="Script" id=2]
|
||||||
[ext_resource path="res://scenes/floor.tscn" type="PackedScene" id=3]
|
|
||||||
|
|
||||||
[node name="network_setup" type="Control"]
|
[node name="network_setup" type="Control"]
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
@ -62,6 +61,17 @@ __meta__ = {
|
|||||||
|
|
||||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||||
|
|
||||||
|
[node name="start_game" type="Button" parent="CanvasLayer"]
|
||||||
|
margin_left = 27.0
|
||||||
|
margin_top = 27.0
|
||||||
|
margin_right = 391.0
|
||||||
|
margin_bottom = 158.0
|
||||||
|
custom_fonts/font = ExtResource( 1 )
|
||||||
|
text = "Start game"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
[node name="device_ip_address" type="Label" parent="CanvasLayer"]
|
[node name="device_ip_address" type="Label" parent="CanvasLayer"]
|
||||||
anchor_top = 1.0
|
anchor_top = 1.0
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
@ -74,9 +84,6 @@ __meta__ = {
|
|||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[node name="floor" parent="." instance=ExtResource( 3 )]
|
|
||||||
position = Vector2( 960, 1056 )
|
|
||||||
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"]
|
||||||
[connection signal="pressed" from="multiplayer_configure/join_server" to="." method="_on_join_server_pressed"]
|
[connection signal="pressed" from="multiplayer_configure/join_server" to="." method="_on_join_server_pressed"]
|
||||||
|
[connection signal="pressed" from="CanvasLayer/start_game" to="." method="_on_start_game_pressed"]
|
||||||
|
|||||||
@ -64,6 +64,9 @@ margin_right = 473.0
|
|||||||
margin_bottom = -25.0
|
margin_bottom = -25.0
|
||||||
custom_fonts/font = ExtResource( 1 )
|
custom_fonts/font = ExtResource( 1 )
|
||||||
text = "Go back"
|
text = "Go back"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
[node name="server_ip_text_edit" type="LineEdit" parent="background_panel"]
|
[node name="server_ip_text_edit" type="LineEdit" parent="background_panel"]
|
||||||
anchor_left = 0.5
|
anchor_left = 0.5
|
||||||
@ -107,6 +110,9 @@ margin_left = 70.0
|
|||||||
margin_top = 40.0
|
margin_top = 40.0
|
||||||
margin_right = -70.0
|
margin_right = -70.0
|
||||||
margin_bottom = -175.0
|
margin_bottom = -175.0
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
[node name="searching_for_servers" type="Label" parent="background_panel/VBoxContainer"]
|
[node name="searching_for_servers" type="Label" parent="background_panel/VBoxContainer"]
|
||||||
margin_right = 1588.0
|
margin_right = 1588.0
|
||||||
@ -129,6 +135,9 @@ custom_fonts/font = ExtResource( 1 )
|
|||||||
text = "Server Browser"
|
text = "Server Browser"
|
||||||
align = 1
|
align = 1
|
||||||
valign = 1
|
valign = 1
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
[node name="server_listener" parent="." instance=ExtResource( 2 )]
|
[node name="server_listener" parent="." instance=ExtResource( 2 )]
|
||||||
|
|
||||||
|
|||||||
21
Game_4/scenes/username_text.tscn
Normal file
21
Game_4/scenes/username_text.tscn
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
[gd_scene load_steps=3 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://font/roboto.tres" type="DynamicFont" id=1]
|
||||||
|
[ext_resource path="res://code/username_text.gd" type="Script" id=2]
|
||||||
|
|
||||||
|
[node name="username_text" type="Node2D"]
|
||||||
|
z_index = 10
|
||||||
|
script = ExtResource( 2 )
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="."]
|
||||||
|
margin_left = -197.0
|
||||||
|
margin_top = -125.0
|
||||||
|
margin_right = 197.0
|
||||||
|
margin_bottom = -49.0
|
||||||
|
custom_fonts/font = ExtResource( 1 )
|
||||||
|
text = "null"
|
||||||
|
align = 1
|
||||||
|
valign = 1
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user