Un poco de información sobre mi problema actual: he estado usando Adobe Animate para generar un lienzo HTML5 y crear mis elementos de lienzo frontales: etiquetas, campos de texto y objetos MovieClip también. Estos están actuando como mis objetos multipropósito. La razón es que si uso botones tradicionales, cualquier diálogo emergente se dibuja detrás de mis botones. Probé varias formas de solucionar este problema, pero al final terminé reemplazando mis objetos de botones con objetos MovieClip y eso resolvió el problema de capas que estaba teniendo.
Ahora, en mi problema actual: todavía necesito que algunos de mis objetos MovieClip actúen como botones. Creé una clase en mi archivo de proyecto y la llamé BasicButton. Tiene algunas funcionalidades básicas que mis objetos MovieClip necesitarán para que cualquier objeto actúe como un botón.
class BasicButton { constructor(obj){ this.obj = obj; } } function onMouseHover() { console.log('Hovering over' + this.obj); } function onMouseDown() { console.log('MouseDown on' + this.obj); } En mi archivo .html principal, logré obtener acceso a mi elemento MovieClip, que se llama FakeButton_1 y es del tipo MovieClip .
<html> ..head ..body <script .. create.js /> <script src="./BasicButton.js" /> <script> funtion onLoad(){ extractRoot('canvas').FakeButton_1.text = "Hello World"; //testing I can change the text of this object and it works! //TODO: now make FakeButton_1 extend or make it of type BasicButton } </script> </html>Mi pregunta es, entonces, ¿cómo puedo decir que FakeButton_1 extiende BasicButton? Idealmente, tendría que pasar el objeto FakeButton_1 al constructor BasicButton para que sepa qué objeto está manipulando.
También comencé a investigar este artículo , pero parece que no puedo encontrar una manera de hacer que BasicButton reconozca FakeButton_1.
Cualquier ayuda sería muy apreciada.