michail_93
10.06.2013, 17:34
Как создать массив объектов класса из библиотеки ссылаясь на его имя?
package Classes
{
import flash.display.MovieClip;
import flash.display.Sprite;
public class Body extends Sprite
{
private var body:MovieClip;
public function Body(num:int,dx:Number,dy:Number)
{
switch (num)
{
case 0 :
this.body = new Block();
break;
case 2 :
this.body = new Background();
break;
case 4 :
this.body = new Trash();
break;
case 5 :
this.body = new Car();
break;
}
this.body.x = dx;
this.body.y = dy;
this.addChild(this.body);
}
...
package Classes
{
import flash.display.Sprite;
import flash.display.MovieClip;
import Classes.Body;
public class Scroller extends Sprite
{
private var bg:Body = null;
private var bgArray = new Array();
private var i:int = 0;
private var posfront = 0;
private var posback = 0;
private var count:Number = 0;
private var mc:MovieClip = null;
private var num:Number = 0;
private var MWidth = 0;
private var speed:Number = 0;
private var currentX:int = 0;
private var oldX:int = 0;
public function Scroller(num:Number,sw:Number,dy:Number)
{
this.num = num;
this.MWidth = sw;
switch (num)
{
case 0 :
mc = new Block();
break;
case 2 :
{
mc = new Background();
speed=-0.5;
}
break;
case 4 :
{
mc = new Trash();
speed=-0.75;
}
break;
case 5 :
mc = new Car();
break;
}
count = Math.floor(sw/mc.width)+1;
for (i=0; i<2*count; i++)
{
if (i!=0)
{
bg = new Body(num,bgArray[i - 1].PositionX + bgArray[i - 1].Width,dy);
}
else
{
bg = new Body(num,-mc.width - sw/2,dy);
}
bgArray.push(bg);
if (num==4 || num==5)
{
bg.Frame = Rand(num);
}
this.addChild(bg);
}
bg = null;
posfront = 0;
posback = bgArray.length - 1;
}
...
Добавлено через 28 минут
тоесть как можна этот switch заменить одним мувиклипом?
package Classes
{
import flash.display.MovieClip;
import flash.display.Sprite;
public class Body extends Sprite
{
private var body:MovieClip;
public function Body(num:int,dx:Number,dy:Number)
{
switch (num)
{
case 0 :
this.body = new Block();
break;
case 2 :
this.body = new Background();
break;
case 4 :
this.body = new Trash();
break;
case 5 :
this.body = new Car();
break;
}
this.body.x = dx;
this.body.y = dy;
this.addChild(this.body);
}
...
package Classes
{
import flash.display.Sprite;
import flash.display.MovieClip;
import Classes.Body;
public class Scroller extends Sprite
{
private var bg:Body = null;
private var bgArray = new Array();
private var i:int = 0;
private var posfront = 0;
private var posback = 0;
private var count:Number = 0;
private var mc:MovieClip = null;
private var num:Number = 0;
private var MWidth = 0;
private var speed:Number = 0;
private var currentX:int = 0;
private var oldX:int = 0;
public function Scroller(num:Number,sw:Number,dy:Number)
{
this.num = num;
this.MWidth = sw;
switch (num)
{
case 0 :
mc = new Block();
break;
case 2 :
{
mc = new Background();
speed=-0.5;
}
break;
case 4 :
{
mc = new Trash();
speed=-0.75;
}
break;
case 5 :
mc = new Car();
break;
}
count = Math.floor(sw/mc.width)+1;
for (i=0; i<2*count; i++)
{
if (i!=0)
{
bg = new Body(num,bgArray[i - 1].PositionX + bgArray[i - 1].Width,dy);
}
else
{
bg = new Body(num,-mc.width - sw/2,dy);
}
bgArray.push(bg);
if (num==4 || num==5)
{
bg.Frame = Rand(num);
}
this.addChild(bg);
}
bg = null;
posfront = 0;
posback = bgArray.length - 1;
}
...
Добавлено через 28 минут
тоесть как можна этот switch заменить одним мувиклипом?