Your problem is not related to instance creation, but rather to the with
statement - see, with
changes what the current instance will be in the block, therefore as of related = inst2
line you are not pulling the inst2
variable from obj_game
, but rather from obj_genus
that you apply the statement on.
Using local variables (which you have found yourself) is by far the easiest way around this, as local variables are function/event-wide and thus remain perfectly accessible inside a with
-block.
If you do need those two instances stored in obj_game
for later use, you could use other.
:
inst1 = instance_create_layer(100, 100, "Instances", obj_genus)
inst2 = instance_create_layer(200, 100, "Instances", obj_genus) // stores inst2 in obj_game
with inst1 {
txt = "Ying"
related = other.inst2 // uses inst2 from obj_game
}
with inst2 {
txt = "Yang"
related = other.inst1
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…