Skip to main content
Participant
June 16, 2020
Question

Create Movie Clip objects dynamically and add them to the Stage with javascript in HTML5 in Animate

  • June 16, 2020
  • 1 reply
  • 2884 views

Basically I want to instantiate MovieClip objects and add them to the Stage using Javascript(createjs) from the Actions panel in an HTML5 Adobe Animate project. I think previously this could be accomplished by giving a linkage identifier to the MovieClip in the library and instantiating the MovieClip using that but I don't see that option now. What is the best way to do this in an HTML5 project? 

This topic has been closed for replies.

1 reply

JoãoCésar17023019
Community Expert
Community Expert
June 16, 2020

Hi.

 

In HTML5 Canvas documents, you must assign a linkage name in the Linkage column in the Library.

 

Any symbol in the Library is a property from the global lib object that is automatically created by Animate when the content is published. To instantiate a symbol at runtime, you must use the linkage name as the constructor method name. Like this:

var platform = new lib.Platform();
platform.x = canvas.width * 0.5;
platform.y = canvas.height * 0.5;
this.addChild(platform);

 

I hope this helps.

 

Regards,

JC

bboybeatle
Participant
November 27, 2021

Thanks for that!

Any idea how to set an instance name when we add the new MC?

kglad
Community Expert
Community Expert
June 24, 2022

How could I add code from an external class to platform?  If platform is going to be on the screen many times... I have a bunch of functions that I would like to assign to platform as it gets added to the stage.  platform.class = externalClassName;  I am doing what the previous person said. I have movieclips in Flash that previously had a lot of code attached to them. Now in Animate 22, I have the movieclip in the library. I'm adding them to the stage. Now I'd like to just assign them a class somehow. 

 


EaselJS Tutorial: Inheritance (createjs.com)

 

how to extend class from animate? · Issue #838 · CreateJS/EaselJS · GitHub

 

and from a previous post of mine, Solved: how to extend class from animate (canvas) - Adobe Support Community - 8830551

 

function OpenScreen() {

    var mc =  new lib.OpenScreen_mc();

    mc.newProperty = whatever;

    mc.newMethod = function(){

        do whatever

    }

    return mc;

}

var os = new OpenScreen();