Skip to main content

Loading an image is simple

Thiago Lages de Alencar
var sprite := Sprite2D.new()
sprite.texture = load("res://image.png") as Texture2D
var sprite := Sprite2D.new()
var image := Image.load_from_file("user://image.png")
sprite.texture = ImageTexture.create_from_image(image) as Texture2D

Sprite2D

Sprite2D é um Node que já possui informações do que quer exibir e apenas fica responsável por administrar como exibir.

O que ele quer exiber? Texture.

Texture

Texture possui a informação daquilo que quer exibir e já foi carregado na placa de video.

O que ele quer exibir? Image.

Image

Image possui a informação daquilo que quer exibir e já foi carregado na memória RAM.

O que ele quer exibir? File.

File

File possui os bytes daquilo que quer exibir porém ainda está no HD/SSD.

load() vs load_from_file()

load()

Utilizado para carregar imagens que foram comprimidas e armazenadas juntas ao executável do jogo (as imagens que você tem que referênciar com res://).

Está função também mantém um cache das imagens carregadas, toda chamada irá retornar a mesma imagem já carregada anteriormente.

load_from_file()

Utilizado para carregar imagens novas, sem prévio conhecimento (imagens referênciadas com user:// ou que você possui os bytes em uma variável).

Está função não mantém cache, cada imagem gerada por ela irá ocupar mais espaço na memória.

References