The easiest way to pass values is by variables
Object1
var value
func _ready():
object2.value = value
Object2
var value
func _ready():
yield(get_tree(),"idle_frame") #wait one frame
print(value)
Here's by parameters
Object1
var value
func _ready():
object2.custom_function(value)
Object2
func custom_function(value_parameter):
print(value_parameter)
And by signals (signals shouldn't be used like this)
Object1
var value
signal custom_signal(value_to_pass)
func _ready():
emit_signal("custom_signal", value)
Object2
func _ready():
object1.connect("custom_signal", self, "the_custom_signal", [value_to_pass])
func the_custom_signal(value_to_pass):
print(value_to_pass)