Here's a sample of the part of the code that's been giving me trouble (I removed the define names to keep my project a surprise):
if (v150 > 1){
v150 = 1;
stop.motion(o4);
get.posn(o4,v50,v51);
position.v(o9,v50,v51);
end.of.loop(o9,f91);
draw(o9);
}
if (f91){
reset(f91);
erase(o4);
set.cel(o9,0);
set.loop(o9,1);
end.of.loop(o9,f92);
}
if (f92){
reset(f92);
set.cel(o9,0);
set.loop(o9,2);
v50 = 2;
move.obj.v(o9,v50,v51,50,f93);
}
if (f93){
reset(f93);
erase(o9);
}
If I use "move.obj" instead of "move.obj.v" and use constants I still get the same bug, which is that object9 displays as Loop1.Cel0 instead of Loop2.Cel0. If I comment out the "move.obj.v" command in the code above, object9 appears as it is supposed to. However, once I get it to move again it reverts back to Loop1.Cel0.
I've even tried reassigning object4, instead of erasing it, to the same view object9 uses and Loop2.Cel0 of it. In this attempt, I then erased object9 when f92 is set and used the "move.obj.v" command on object4. This attempt failed too as object4 then reverted to Loop1.Cel0 whenever the object is moved.
I've experienced this same problem elsewhere, but coded around it by separating the 3rd loop out of the view and creating a new view using just that cel. I don't want to have to keep using this messy solution.