Browse Source

Add nicknames above players' heads

master
Luna 7 years ago
parent
commit
afffc3b983
3 changed files with 43 additions and 1 deletions
  1. +25
    -1
      scenes/player.tscn
  2. +1
    -0
      scripts/player.gd
  3. +17
    -0
      scripts/player_name.gd

+ 25
- 1
scenes/player.tscn View File

@ -1,7 +1,8 @@
[gd_scene load_steps=7 format=2]
[gd_scene load_steps=9 format=2]
[ext_resource path="res://scripts/player.gd" type="Script" id=1] [ext_resource path="res://scripts/player.gd" type="Script" id=1]
[ext_resource path="res://scripts/tp_camera.gd" type="Script" id=2] [ext_resource path="res://scripts/tp_camera.gd" type="Script" id=2]
[ext_resource path="res://scripts/player_name.gd" type="Script" id=3]
[sub_resource type="CapsuleShape" id=1] [sub_resource type="CapsuleShape" id=1]
@ -256,4 +257,27 @@ skeleton = NodePath("..")
material/0 = SubResource( 5 ) material/0 = SubResource( 5 )
_sections_unfolded = [ "Transform", "material" ] _sections_unfolded = [ "Transform", "material" ]
[node name="NamePosition" type="Spatial" parent="." index="7"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.56117, 0 )
[node name="PlayerName" type="Label" parent="." index="8"]
anchor_left = 0.0
anchor_top = 0.0
anchor_right = 0.0
anchor_bottom = 0.0
margin_right = 40.0
margin_bottom = 14.0
rect_pivot_offset = Vector2( 0, 0 )
mouse_filter = 2
mouse_default_cursor_shape = 0
size_flags_horizontal = 1
size_flags_vertical = 4
align = 1
percent_visible = 1.0
lines_skipped = 0
max_lines_visible = -1
script = ExtResource( 3 )

+ 1
- 0
scripts/player.gd View File

@ -46,6 +46,7 @@ func _ready():
add_child(preload("res://scenes/ai.tscn").instance()) add_child(preload("res://scenes/ai.tscn").instance())
ai_instanced = true ai_instanced = true
else: else:
get_node("PlayerName").set_text(player_info.username)
# Remove HUD # Remove HUD
remove_child(get_node(master_only)) remove_child(get_node(master_only))


+ 17
- 0
scripts/player_name.gd View File

@ -0,0 +1,17 @@
extends Label
var camera
var pos
func _ready():
pos = get_node("../NamePosition")
func _process(delta):
if not camera:
# This needs to happen here because players are added later
camera = get_node("/root/Level/Players/%d" % get_tree().get_network_unique_id()).get_node("TPCamera/Camera")
var size = get_size()
var offset = Vector2(size.x/2, size.y) # Origin at bottom
var pos3d = pos.get_global_transform().origin
set_position(camera.unproject_position(pos3d) - offset)

Loading…
Cancel
Save