Godot Version
v4.7.1.rc2.official [d6096250e] - CachyOS KDE Plasma (Wayland) x86_64 on a mini PC
Question
What would be the best method to switch image of a Sprite in GDScript at run time?
We do below currently, but there must be a better method?
Let us know here, thank you…
SS
`if (Background == 0):
TextBackground = VisualsCore.DrawText(VisualsCore.TextCurrentIndex, "Cathedral[A.I.] - OpenArt.ai", -75,65+50+50+50-8-5-6-5-14, 2, 1, 25, 1.0, 1.0, 0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0)
VisualsCore.Sprites.SpriteImage[10] = load("res://media/images/backgrounds/BG_Title.png")
var spriteSize = VisualsCore.Sprites.SpriteImage[10].get_size()
VisualsCore.Sprites.SpriteImageWidth[10] = spriteSize.x
VisualsCore.Sprites.SpriteImageHeight[10] = spriteSize.y
RenderingServer.canvas_item_add_texture_rect(VisualsCore.Sprites.ci_rid[10], Rect2(Vector2.ZERO, spriteSize), VisualsCore.Sprites.SpriteImage[10])
var xform = Transform2D().translated(Vector2(512-spriteSize.x / 2.0, 320-spriteSize.y / 2.0))
RenderingServer.canvas_item_set_transform(VisualsCore.Sprites.ci_rid[10], xform)
elif (Background == 1):
TextBackground = VisualsCore.DrawText(VisualsCore.TextCurrentIndex, "Sunset Beach[A.I.] - OpenArt.ai", -75,65+50+50+50-8-5-6-5-14, 2, 1, 25, 1.0, 1.0, 0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0)
VisualsCore.Sprites.SpriteImage[10] = load("res://media/images/backgrounds/BG_SunsetBeach.png")
var spriteSize = VisualsCore.Sprites.SpriteImage[10].get_size()
VisualsCore.Sprites.SpriteImageWidth[10] = spriteSize.x
VisualsCore.Sprites.SpriteImageHeight[10] = spriteSize.y
RenderingServer.canvas_item_add_texture_rect(VisualsCore.Sprites.ci_rid[10], Rect2(Vector2.ZERO, spriteSize), VisualsCore.Sprites.SpriteImage[10])
var xform = Transform2D().translated(Vector2(512-spriteSize.x / 2.0, 320-spriteSize.y / 2.0))
RenderingServer.canvas_item_set_transform(VisualsCore.Sprites.ci_rid[10], xform)`
“Alpha 3 - No Story” Closed RC1 HTML5 / Linux x86_64 / Linux arm64 Build is live on Itch below:
https://teamjezxlee.itch.io/tcgm-a3-rc1
To gain private access, you must enter password: “1234” (no quotes)…