actionscript 3 - Having dynamic name's in array AS3 -


i'm having issues as3. i'm trying items put in array have dynamic name (ex. lines[k]) when want call on them later can call them number instead of calling them @ time

i've found tutorials dynamic array names on website i'm unsure how fit them in code because keep getting error's.

at moment code:

var numpoints:number = 0;       //  number of points placed.                                  //  no dragging work until 7 points placed.  //  set max & min stage coordinates points can dragged, , make point diameters settable. var xmax:number = 700; var xmin:number = 5; var ymax:number = 500; var ymin:number = 5; var o = 0; var circlewidth:number = 5;  //  boolean variables indicate dragging happening appropriate point follows mouse //  on mouse_move event. var isdragging1:boolean = false; var isdragging2:boolean = false; var isdragging3:boolean = false; var isdragging4:boolean = false; var isdragging5:boolean = false; var isdragging6:boolean = false; var isdragging7:boolean = false;  //  drawboard rectangle on triangle drawn.  colors settable here. change size, //  change variables xmin, xmax, ymin, ymax above. var drawboard:sprite = new sprite(); drawboard.graphics.linestyle(1, 0x000000); drawboard.graphics.beginfill(0xcccccc); drawboard.graphics.drawrect(0, 0, xmax - xmin, ymax - ymin); drawboard.graphics.endfill(); drawboard.x = xmin; drawboard.y = ymin;   // array (where "lines goes into") var q:int = 0; var shapearray:array/* of flash.display.shape */ = [] /* of flash.display.shape */; var lines:shape = new shape();  //  add default drop shadow filter drawboard drawboard.filters = [ new dropshadowfilter() ];  //  rectangle listen mouse clicks in order construct 3 vertices of triangle. drawboard.addeventlistener(mouseevent.click, placepoint);  //  put on stage board on triangle drawn. stage.addchild(drawboard);  //  filled triangle consists of 3 lines drawn between points. updated     on mouse_move once  //  dragging starts.  drawboard.addchild(lines);   //  stage listen events involving dragging dragging continue work after //  mouse has rolled off of drawboard region. stage.addeventlistener(mouseevent.mouse_move, mouseupdate); stage.addeventlistener(mouseevent.mouse_up, stopdragging);  // button 2 (left) bttn_add.addeventlistener(mouseevent.click, toevoegen);  // button 3 (middle) bttn_show.addeventlistener(mouseevent.click, showit);   // adding shape array  function toevoegen(e:event):void {      // adding     shapearray.push( lines );     numpoints = 0;     trace("done pushing")  }  // shape show  function showit(e:event):void {     trace(shapearray.length);   if (!shapearray || shapearray.length == 0){ //      shapearray.push( lines ); trace("array leeg")     return; // nothing here     }     const lines:shape = shapearray[o] shape;    if (lines && ! lines.parent) {        o++;        trace ("tracer"+ o); }// show     drawboard.addchild(lines)           //shapearray.push( lines );           numpoints = 0;       trace() }    //  add 7 points stage not add graphics yet.  specify listeners //  @ time when placed, able drag them.  var point1:sprite = new sprite(); point1.addeventlistener(mouseevent.mouse_down, startdragging1); drawboard.addchild(point1);  var point2:sprite = new sprite(); point2.addeventlistener(mouseevent.mouse_down, startdragging2); drawboard.addchild(point2);  var point3:sprite = new sprite(); point3.addeventlistener(mouseevent.mouse_down, startdragging3); drawboard.addchild(point3);  var point4:sprite = new sprite(); point4.addeventlistener(mouseevent.mouse_down, startdragging4); drawboard.addchild(point4);  var point5:sprite = new sprite(); point5.addeventlistener(mouseevent.mouse_down, startdragging5); drawboard.addchild(point5);  var point6:sprite = new sprite(); point6.addeventlistener(mouseevent.mouse_down, startdragging6); drawboard.addchild(point6);  var point7:sprite = new sprite(); point7.addeventlistener(mouseevent.mouse_down, startdragging7); drawboard.addchild(point7);     //  reset button stop dragging, remove children of drawboard, , set numpoints 0.  btnreset.addeventlistener(mouseevent.click, reset);  function reset(evt:mouseevent):void {     var i:number;     var n:number = drawboard.numchildren;      isdragging1 = false;     isdragging2 = false;     isdragging3 = false;     isdragging4 = false;     isdragging5 = false;     isdragging6 = false;     isdragging7 = false;      point1.graphics.clear();     point2.graphics.clear();     point3.graphics.clear();     point4.graphics.clear();     point5.graphics.clear();     point6.graphics.clear();     point7.graphics.clear();      /*     drawboard.removechild(point1);     drawboard.removechild(point2);     drawboard.removechild(point3);     drawboard.removechild(point4);     drawboard.removechild(point5);     drawboard.removechild(point6);     drawboard.removechild(point7);    */     //lines.graphics.clear();     drawboard.removechild(lines);     numpoints = 0;     trace(numpoints);     }  //  next function executed when mouse moved.  note if points not placed , nothing //  being dragged, function nothing. function mouseupdate(evt:mouseevent):void {     if (numpoints == 7) {          if (isdragging1) {             point1.x = goodx(evt.stagex);       //  set x- & y-coordinates.  see below definition of              point1.y = goody(evt.stagey);       //      functions goodx & goody             //lines.graphics.clear();             //  remove lines shape , redraw                drawlines();                        //      updated coordinates.         }             if (isdragging2) {             point2.x = goodx(evt.stagex);             point2.y = goody(evt.stagey);             //lines.graphics.clear();             drawlines();         }             if (isdragging3) {             point3.x = goodx(evt.stagex);             point3.y = goody(evt.stagey);             //lines.graphics.clear();             drawlines();         }          if (isdragging4) {             point4.x = goodx(evt.stagex);             point4.y = goody(evt.stagey);             //lines.graphics.clear();             drawlines();         }          if (isdragging5) {             point5.x = goodx(evt.stagex);             point5.y = goody(evt.stagey);             //lines.graphics.clear();             drawlines();         }          if (isdragging6) {             point6.x = goodx(evt.stagex);             point6.y = goody(evt.stagey);             //lines.graphics.clear();             drawlines();         }          if (isdragging7) {             point7.x = goodx(evt.stagex);             point7.y = goody(evt.stagey);             //lines.graphics.clear();             drawlines();         }          evt.updateafterevent();     } }   /*  function chooses appropriate x-coordinate dragged point.       if thisx in draggable region, return it.  otherwise, return max or min x value,      depending on side of draggable region thisx on. */  function goodx(thisx:number):number {     if (thisx < xmin) {         return (xmin);     }     if (thisx > (xmax - circlewidth)) {         return (xmax - circlewidth);     }     return (thisx); }   //  function chooses appropriate y-coordinate dragged point in manner     similar previous function.   function goody(thisy:number):number {     if (thisy < ymin) {         return (ymin);     }     if (thisy > (ymax - circlewidth)) {         return (ymax - circlewidth);     }     return thisy; }  // function manages placement of points until 7 points placed.  function placepoint(evt:mouseevent):void {      //var point = new sprite();     //array.push(point);      if (numpoints == 0) {         point1.graphics.beginfill(0x7777ff);         point1.graphics.drawcircle(0, 0, circlewidth/2);         point1.graphics.endfill();         point1.filters = [ new dropshadowfilter() ];         point1.x = drawboard.mousex;         point1.y = drawboard.mousey;         numpoints = 1;     }     else if(numpoints == 1) {         point2.graphics.beginfill(0x7777ff);         point2.graphics.drawcircle(0, 0, circlewidth/2);         point2.graphics.endfill();         point2.filters = [ new dropshadowfilter() ];         point2.x = drawboard.mousex;         point2.y = drawboard.mousey;         numpoints = 2;     }     else if (numpoints == 2) {         point3.graphics.beginfill(0x7777ff);         point3.graphics.drawcircle(0, 0, circlewidth/2);         point3.graphics.endfill();         point3.filters = [ new dropshadowfilter() ];         point3.x = drawboard.mousex;         point3.y = drawboard.mousey;         numpoints = 3;         //lines.graphics.clear();         //drawboard.removechild(lines);      }      else if (numpoints == 3) {         point4.graphics.beginfill(0x7777ff);         point4.graphics.drawcircle(0, 0, circlewidth/2);         point4.graphics.endfill();         point4.filters = [ new dropshadowfilter() ];         point4.x = drawboard.mousex;         point4.y = drawboard.mousey;         numpoints = 4;         //lines.graphics.clear();         //drawboard.removechild(lines);     }      else if (numpoints == 4) {         point5.graphics.beginfill(0x7777ff);         point5.graphics.drawcircle(0, 0, circlewidth/2);         point5.graphics.endfill();         point5.filters = [ new dropshadowfilter() ];         point5.x = drawboard.mousex;         point5.y = drawboard.mousey;         numpoints = 5;         //lines.graphics.clear();         //drawboard.removechild(lines);     }      else if (numpoints == 5) {         point6.graphics.beginfill(0x7777ff);         point6.graphics.drawcircle(0, 0, circlewidth/2);         point6.graphics.endfill();         point6.filters = [ new dropshadowfilter() ];         point6.x = drawboard.mousex;         point6.y = drawboard.mousey;        numpoints = 6;         //lines.graphics.clear();         //drawboard.removechild(lines);     }      else if (numpoints == 6) {         point7.graphics.beginfill(0x7777ff);         point7.graphics.drawcircle(0, 0, circlewidth/2);         point7.graphics.endfill();         point7.filters = [ new dropshadowfilter() ];         point7.x = drawboard.mousex;         point7.y = drawboard.mousey;         numpoints = 7;         q++;             //shapearray.push( lines );          //lines.graphics.clear();         //drawboard.removechild(lines);          drawlines();         //verplaatsen();         trace(numpoints);     } }  //  draws 7 lines between points appropriate fill , adds drop shadow. function drawlines():void {         lines.graphics.linestyle(1, 0xff0000);         lines.graphics.beginfill(0xff7777);         lines.graphics.moveto(point1.x, point1.y);         lines.graphics.lineto(point2.x, point2.y);         lines.graphics.lineto(point3.x, point3.y);         lines.graphics.lineto(point4.x, point4.y);         lines.graphics.lineto(point5.x, point5.y);         lines.graphics.lineto(point6.x, point6.y);         lines.graphics.lineto(point7.x, point7.y);         lines.graphics.lineto(point1.x, point1.y);         lines.graphics.endfill();         lines.filters = [ new dropshadowfilter() ];         trace(lines)         trace ("geval"+ o) }  //  next functions "turn on" dragging point clicked, long 7 points have //  been placed. function startdragging1(evt:mouseevent):void {     if (numpoints == 7) {         isdragging1 = true;     } }  function startdragging2(evt:mouseevent):void {     if (numpoints == 7) {         isdragging2 = true;     } }  function startdragging3(evt:mouseevent):void {     if (numpoints == 7) {         isdragging3 = true;     } } function startdragging4(evt:mouseevent):void {     if (numpoints == 7) {         isdragging4 = true;     } }      function startdragging5(evt:mouseevent):void {     if (numpoints == 7) {         isdragging5 = true;     } }  function startdragging6(evt:mouseevent):void {     if (numpoints == 7) {         isdragging6 = true;     } }  function startdragging7(evt:mouseevent):void {     if (numpoints == 7) {         isdragging7 = true;     } }  //  turns off dragging. function called when mouse button released anywhere on stage. function stopdragging(evt:mouseevent):void {     if (numpoints == 7) {         isdragging1 = false;         isdragging2 = false;         isdragging3 = false;         isdragging4 = false;         isdragging5 = false;         isdragging6 = false;         isdragging7 = false;      } } /* function verplaatsen():void{         lines.x = 0;         lines.x = 100;         lines.y = 300;  }*/ 

i apologize if code messy / sloppy i've been trying day , bit sleep deprived now.

any apreciated

(as side not: fast way put 4 spaces infront create code blocks on website?)

you should how array works, code can see using different variables hold sprites , checking different variables inside functions isdraging1,2,3,4,5.

here code started.

public var mysprites:array = [];  public function init():void {    (var i:int = 0; i<10; ++i)    {        createsprite();    }  }  public function createsprite():void {    var sprite:sprite = new sprite();    sprite.addeventlistener(mouseevent.mouse_click,onspriteclicked);    addchild(sprite);    mysprites.push(sprite); }  public function onspriteclicked(e:mouseevent):void {    trace("you clicked sprite : "+mysprites.indexof(e.target sprite));    // can use sprite here     var clickedsprite:sprite = e.target sprite;    if(clickedsprite)     {       //do sprite    } } 

Comments

Popular posts from this blog

django - How can I change user group without delete record -

java - Need to add SOAP security token -

java - EclipseLink JPA Object is not a known entity type -