This is maddening. I’ve spent the entire day on this. It was working fine before. But in one of my swfMovie files, I have lost the ability to call an object’s function from the root timeline. But only in-game. It appears to work fine from inside the Scaleform launcher. And it’s not just one object. All of the objects on the stage seem to have their functions suddenly inaccessible when I try to call them from the root timeline. Has this ever happened to any of you? How did you get past it?
I finally worked something out. I can’t believe how much time I spent on this, when everything was working fine day before yesterday.
I discovered that I couldn’t reference any properties of a symbol on the stage if it was embedded inside another symbol. So for example, I couldn’t change portraitFrame.characterInfo.characterName.text from the root timeline. But I could set up a chain of functions that would call portraitFrame.changeName(), which calls characterInfo.changeName(), which can set characterName.text.
You should be able to update nested symbols from any root scope (although I would never advise doing that).
Did you perhaps set these params to private within their classes?
Thanks, yeah, I checked on that. There’s nothing private. I have no idea why everything suddenly stopped working. It’s crazy.
@Nathaniel3W Have you tested reverting to an older version, to test that the issue was not introduced by a windows update?
@Coldscooter I haven’t tried that. I really hope that’s not what caused the issue. I realized that I hadn’t been saving my fla files in git, so I couldn’t revert those files. (That’s a near-disastrous mistake that I thankfully caught before it destroyed my entire UI system.) But if it’s a Windows issue, then I’m probably going to see this happening in all of my published swf movies from now on, and it’s going to be a nightmare tracking down every nested symbol in every file. I’ll let you know if I see this happening in any other files.