0 votes

How can I get a node in a scene and chnage it to another node by instancing the node
i tried this but it didn't really work.But it suprisingly printed the correct instanced sprite that I expected it to:

func _ready():
var sprite = get_child(3)

sprite = load("res://assets/super_platforms/slide_and_slope_straight.tscn").instance() #the same sprite remains

print(sprite.name)# it prints out the root node of the instanced scene,which is part of what its supposed to do

in Engine by (72 points)

1 Answer

+1 vote

can you do something like this?

var sprite = get_child(3)
var new_sprite = load("res://assets/super_platforms/slide_and_slope_straight.tscn").instance()

# set any properties that need to be set
new_sprite.position = sprite.position

sprite.visible = false
queue_free(sprite)
add_child(new_sprite)
by (1,650 points)

Thanks worked well except that I had to change queue_free(sprite) to sprite.queue_free()

oh, duh, sorry about that. glad you got it worked out!

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.