Hi,
How do we get the width and height of a sprite's texture in Godot 4 GDScript?
Code is below:
class SpriteClass:
var ci_rid = []
var SpriteImage = []
var SpriteActive = []
var SpriteScreenX = []
var SpriteScreenY = []
var SpriteScaleX = []
var SpriteScaleY = []
var SpriteRotation = []
var SpriteColorRed = []
var SpriteColorGreen = []
var SpriteColorBlue = []
var SpriteColorAlpha = []
var Sprites = SpriteClass.new()
func _ready():
for _index in range(0, 20000):
Sprites.ci_rid.append(-1)
Sprites.ci_rid[_index] = RenderingServer.canvas_item_create()
RenderingServer.canvas_item_set_parent(Sprites.ci_rid[_index], get_canvas_item())
Sprites.SpriteImage.append(-1)
Sprites.SpriteActive.append(false)
Sprites.SpriteScreenX.append(-99999)
Sprites.SpriteScreenY.append(-99999)
Sprites.SpriteScaleX.append(1.0)
Sprites.SpriteScaleY.append(1.0)
Sprites.SpriteRotation.append(0)
Sprites.SpriteColorRed.append(1.0)
Sprites.SpriteColorGreen.append(1.0)
Sprites.SpriteColorBlue.append(1.0)
Sprites.SpriteColorAlpha.append(1.0)
Sprites.SpriteImage[0] = load("res://media/images/backgrounds/FadingBlackBG.png")
Sprites.SpriteActive[0] = true
for index in range(0, 20000):
if Sprites.SpriteActive[index] == true:
var sprite_size = Sprites.SpriteImage[index].get_size()
Sprites.SpriteImageWidth[index] = sprite_size.width # ERROR?
Sprites.SpriteImageHeight[index] = sprite_size.height # ERROR?
RenderingServer.canvas_item_add_texture_rect(Sprites.ci_rid[index], Rect2(Vector2.ZERO, sprite_size), Sprites.SpriteImage[index])
var xform = Transform2D().translated(Vector2(-99999 - sprite_size.x / 2.0, -99999 - sprite_size.y / 2.0))
RenderingServer.canvas_item_set_transform(Sprites.ci_rid[index], xform)
if (index > 39 && index < 129):
RenderingServer.canvas_item_set_draw_index(Sprites.ci_rid[index], 500)
How to get both width and height from:
var sprite_size = Sprites.SpriteImage[index].get_size()
Let us know, thanks!
Jesse