Animate CC - вызов экземпляра с переменными строками

Я пытаюсь создать функцию, которая заставляет воспроизводить анимацию символа (привет), когда я нажимаю другой (падре). Я хочу, чтобы функция использовала их много раз, поэтому я пытаюсь автоматизировать.

Я получаю имя экземпляра кнопки «padre» и пытаюсь добавить немного жала после этого, в данном случае «hijo». Я создал несколько варов, но когда я использую строковое значение, это не работает.

this.padre.addEventListener("click", nose.bind(this));

function nose(evt) {

    var root = this

            //In this case on evt.currentTarget.name i get 'padre' 
    var loprimero = evt.currentTarget.name;
    var loquesigue = "hijo";
    var todito = loprimero + loquesigue;


         //This console fine the name of instance i want gotoAndPlay
    console.log(todito);

        //This is i want to make work
        //This give me cannot read property 'gotoAndPlay' of undefined 
    root.todito.gotoAndPlay(1);

        //And this work fine
    this.padrehijo.gotoAndPlay(1);
}

Когда я определяю var loquesigue = this.padrehijo; без кавычек, он работает нормально. Но помните, мне нужно использовать это на некоторых других символах родителей.


person Scrabech    schedule 18.07.2019    source источник


Ответы (1)


Это просто запись строки:

console.log(todito);

Если у вас есть экземпляр с таким именем, вы можете получить к нему доступ, используя скобки:

var inst = root[todito];
console.log(inst); // Does this work?

Еще одно замечание: вам не нужно использовать bind в EaselJS, вы можете просто использовать on() и его немного чище (документы) :)

this.padre.on("click", nose, this);

Ваше здоровье,

person Lanny    schedule 18.07.2019
comment
Всем привет! С этими предложениями я получаю неопределенный консольный журнал. Что я делаю плохо? Спасибо за комментарии, я новичок в EaselJS. - person Scrabech; 19.07.2019
comment
Вам нужно будет убедиться, что у вас есть клип на root, который имеет имя экземпляра, который вы используете. - person Lanny; 19.07.2019