bug: Fix low-resolution text
This commit is contained in:
parent
64c055b23f
commit
e287853798
13 changed files with 1463 additions and 104 deletions
|
|
@ -1,20 +1,34 @@
|
|||
extends Node2D
|
||||
|
||||
func get_half_size(sprt: Node2D):
|
||||
var half_size: Vector2
|
||||
|
||||
if sprt is Sprite2D:
|
||||
half_size = (sprt.texture.get_size() * sprt.scale) / 2.0
|
||||
elif sprt is AnimatedSprite2D:
|
||||
var tex: Texture2D = sprt.sprite_frames.get_frame_texture(sprt.animation, 0)
|
||||
if tex:
|
||||
half_size = (tex.get_size() * sprt.scale) / 2.0
|
||||
else:
|
||||
half_size = Vector2.ZERO
|
||||
func get_half_size(node: Node2D) -> Vector2:
|
||||
var tex_size := Vector2.ZERO
|
||||
var sprite: Node2D = null
|
||||
|
||||
# Try to find a Sprite2D or AnimatedSprite2D child
|
||||
if node is Sprite2D or node is AnimatedSprite2D:
|
||||
sprite = node
|
||||
else:
|
||||
half_size = Vector2.ZERO
|
||||
|
||||
return half_size
|
||||
for child in node.get_children():
|
||||
if child is Sprite2D or child is AnimatedSprite2D:
|
||||
sprite = child
|
||||
break
|
||||
|
||||
if sprite == null:
|
||||
return Vector2.ZERO
|
||||
|
||||
# Get texture size
|
||||
if sprite is Sprite2D:
|
||||
if sprite.texture:
|
||||
tex_size = sprite.texture.get_size()
|
||||
elif sprite is AnimatedSprite2D:
|
||||
var tex: Texture2D = sprite.sprite_frames.get_frame_texture(sprite.animation, 0)
|
||||
if tex:
|
||||
tex_size = tex.get_size()
|
||||
|
||||
# Combine parent scaling (global scale includes both)
|
||||
var global_scl = sprite.get_global_transform().get_scale()
|
||||
|
||||
return (tex_size * global_scl) * 0.5
|
||||
|
||||
func wrap_position(node: Node2D) -> void:
|
||||
var rect = node.get_viewport_rect()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue