actionscript 3 - How to color each movieclip in a row -


i apreciate help. have 8 movieclips (square1-8) , movieclip called plus1 on stage handle 8 movieclips. want click plus1 once , color square1, press plus1 second time , color square2 , on. code seems there wrong because color random. can please me find what's wrong it?

import flash.display.movieclip; import flash.events.mouseevent; import flash.geom.colortransform;   plus1.buttonmode=true; var sximata:movieclip = square1; var mycolortransform:colortransform = new colortransform();   plus1.addeventlistener(mouseevent.click, changecolour);  function changecolour(event:mouseevent):void { if (contains(square1)) {     removeeventlistener(mouseevent.click, onsquare1);     addeventlistener(mouseevent.click, onsquare16);         } if (contains(square2)) {     removeeventlistener(mouseevent.click, onsquare2);     addeventlistener(mouseevent.click, onsquare3); } if (contains(square3)) {     removeeventlistener(mouseevent.click, onsquare3);     addeventlistener(mouseevent.click, onsquare4); } if (contains(square4)) {     removeeventlistener(mouseevent.click, onsquare4);     addeventlistener(mouseevent.click, onsquare5); } if (contains(square5)) {     removeeventlistener(mouseevent.click, onsquare5);     addeventlistener(mouseevent.click, onsquare6); } if (contains(square6)) {     removeeventlistener(mouseevent.click, onsquare6);     addeventlistener(mouseevent.click, onsquare7); } if (contains(square7)) {     removeeventlistener(mouseevent.click, onsquare7);     addeventlistener(mouseevent.click, onsquare8); }  mycolortransform.color = 0xbdb522;        sximata.transform.colortransform = mycolortransform;  }    square1.addeventlistener(mouseevent.click, onsquare1); function onsquare1(e:mouseevent):void { sximata = square1; }   square2.addeventlistener(mouseevent.click, onsquare2); function onsquare2(e:mouseevent):void { sximata = square2; }  square3.addeventlistener(mouseevent.click, onsquare3); function onsquare3(e:mouseevent):void { sximata = square3; }    square4.addeventlistener(mouseevent.click, onsquare4);  function onsquare4(e:mouseevent):void { sximata = square4; }     square5.addeventlistener(mouseevent.click, onsquare5);   function onsquare5(e:mouseevent):void { sximata = square5; }   square6.addeventlistener(mouseevent.click, onsquare6); function onsquare6(e:mouseevent):void { sximata = square6; }  square7.addeventlistener(mouseevent.click, onsquare7); function onsquare7(e:mouseevent):void { sximata = square7; }   square8.addeventlistener(mouseevent.click, onsquare8); function onsquare8(e:mouseevent):void { sximata = square8; } 

ok. code looks

import flash.display.movieclip; import flash.events.mouseevent; import flash.geom.colortransform;   plus1.buttonmode=true; minus1.buttonmode=true;   var nextsquare:movieclip = square1;  var squares:array = [square1, square2, square3, square4, square5, square6, square7, square8];  var mycolortransform:colortransform = new colortransform();   plus1.addeventlistener(mouseevent.click, changecolour);  function changecolour(event:mouseevent):void {     mycolortransform.color = 0x519596;     nextsquare.transform.colortransform = mycolortransform;      var index = squares.indexof(nextsquare);     if (index < squares.length - 1) {         nextsquare = squares[index + 1];      } else {         trace('we done');     }    }  minus1.addeventlistener(mouseevent.click, reversecolour);  function reversecolour(event:mouseevent):void {     nextsquare.transform.colortransform = new colortransform();     var index = squares.indexof(nextsquare);     if (index < squares.length - 1) {         nextsquare = squares[index - 1];     } else {         trace('we done');       }       } 

but error

typeerror: error #1009: cannot access property or method of null object reference. @ _fla::maintimeline/changecolour()

not sure why need many event handlers. can't keep squares in array , each time plus1 clicked color , move next? check out code below.

plus1.buttonmode=true;  var nextsquare:movieclip = square1;  var squares:array = [square1, square2, square3, square4, square5, square6, square7, square8];  var mycolortransform:colortransform = new colortransform();  plus1.addeventlistener(mouseevent.click, changecolour);  function changecolour(event:mouseevent):void {     mycolortransform.color = 0xbdb522;     nextsquare.transform.colortransform = mycolortransform;      var index = squares.indexof(nextsquare);     if (index < squares.length - 1) {         nextsquare = squares[index + 1];     } else {         trace('we done');     }    } 

Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -