Copy link to clipboard
Copied
In AnimateCC HTML5 Canvas I have made the following situation.
In the first frame of the main Timline is a movieclip with an animation, lets call it "myMc".
Lets call the layer in the main Timeline, where myMc is positioned "mcLayer".
The first Frame of the main Timeline stops, with Javascript: this.stop();
The Timeline of myMc does not play, if there is a keyframe in the next Frame of "mcLayer"
myMC plays if there is an normal frame in the next Frame of "mcLayer".
It also plays if there are no more frames on "mcLayer"
What is the rule behind this?
Is this a bug?
Hi.
Make sure all conditions below are true:
- The advanced layers mode is on (Cmd/Ctrl + J > Use Advanced Layers);
- The virtual camera is on the stage;
- The layer you want to target is on the main timeline;
- The layer you want to target is not empty.
Then you can access the layer or some instance inside of the layer using dot notation. Like this:
console.log(this.yourLayer, this.yourLayer.yourInstance, this.yourInstance);
Regards,
JC
Copy link to clipboard
Copied
For what it's worth, I tried replicating the scene based on your description, and it plays for me in any scenario. Tested on version 18.0.1 (build 115)
Copy link to clipboard
Copied
Thanks
I think it has to be a bug with version 19.
I made the same Movieclip in version 19.0(build 326) and version 18.02 (build 126). In version 19 is the problem.
You can download the fla Files at:
https://www.on-design.de/test/mc_problem.zip
Its worth for making this tutorial.
Here is a screenshot of my 2 test fla files
Copy link to clipboard
Copied
When I deactivate advanced Layers it works.
Modify / Document / advanced Layers
Copy link to clipboard
Copied
Oh my god! I searched everywhere to find an answer why a movie clip aniamtion wasn't working on a single frame in the main timeline! And it was advanced layers option! I have it on because of the camera tool.
THANK YOU!
Copy link to clipboard
Copied
Oh god I was trying to find out why I was wrong all the time! Thank you and take my like!
Copy link to clipboard
Copied
While turning off 'Advanced Layers' does work, it's not a good solution. I would like to use the Camera tool as well, so disabling 'Advanced Layers' isn't an option.
To illustrate how crippled things become when having 'Advanced Layers' turned on, consider this simple example with 3 Layers (Camera, Actions, Layer with MovieClip with 60 frames of animation):
Export and play the HTML5 Canvas and observe the MovieClip playing continuously in a loop.
Now, add a blank frame in the MC Layer:
And suddenly the MovieClip doesn't play anymore...
But if you instead only extend the MovieClip frame, like this:
The MovieClip plays after all (remember the code applied on Frame 1: `this.stop();`).
The same thing happens with frames that aren't placed on Frame 1 -- if they span a single frame's length, then they'll be stuck on their internal first frame (in 'Advanced Layers' mode only) until the frame's length exceeds 1.
I read somewhere that with Advanced Layers layers are treated as MovieClips with only their first frame being exported or something. Whatever the case, this behavior is super unpredictable and the documentation on Avanced Layers is next to nil. For something that causes so many breaking changes and is now enabled by default, one would expect there to be better documentation and spread of information online. But alas, Adobe Animate died when Flash got axed 😕
Copy link to clipboard
Copied
Hi.
I agree. It really doesn't make sense.
Please report this issue here:
https://www.adobe.com/products/wishform.html
Regards,
JC
Copy link to clipboard
Copied
Now 6 years later I trie to program something with advanced Layers activated, following the instructions on the Adobe Website https://helpx.adobe.com/animate/using/timeline-layers.html#advanced-layers
but it does not make sense or it does not work
Copy link to clipboard
Copied
Hi.
Make sure all conditions below are true:
- The advanced layers mode is on (Cmd/Ctrl + J > Use Advanced Layers);
- The virtual camera is on the stage;
- The layer you want to target is on the main timeline;
- The layer you want to target is not empty.
Then you can access the layer or some instance inside of the layer using dot notation. Like this:
console.log(this.yourLayer, this.yourLayer.yourInstance, this.yourInstance);
Regards,
JC
Copy link to clipboard
Copied
Thanks now it work, as I put the virtual camera on the stage.