javascripthtml5-canvasanimate-cc

AnimateCC Canvas calling functions


I'm trying to change this code that I made from actionscript 3 to html5 canvas. I’m with doubt about calling functions that I created, for example:

function cleanSelection(){
    this.a1.visible = true;
    this.sa1.visible = false;

    this.a2.visible = true;
    this.sa2.visible = false;
}

function maxSelection(count){
    cleanSelection();
    count = 0;
    return count;
}

I want to make this function below be able to call maxSelection() which calls cleanSelection()

this.a1.addEventListener("click", fl_Click.bind(this));
function fl_Click()
{
   this.sa1.visible = true;
   this.a1.visible = false;
   count++;
   if(count >= 2){
       count = maxSelection(count);
   }
}

How can I call these functions?


Solution

  • You Should put "bind(this)" in all methods:

    function cleanSelection(){
       this.a1.visible = true;
       this.sa1.visible = false;
    
       this.a2.visible = true;
       this.sa2.visible = false;
    }
    
    function maxSelection(c){
       cleanSelection.bind(this)();
       c= 0;
       return c;
    }
    var count = 0;
    this.a1.addEventListener("click", fl_Click.bind(this));
    function fl_Click() {
      this.sa1.visible = true;
      this.a1.visible = false;
      count++;
      if(count >= 2){
         count = maxSelection.bind(this)(count);
      }
    

    }