Показать сообщение отдельно
Старый 15.05.2010, 03:19
asterion вне форума Посмотреть профиль Отправить личное сообщение для asterion Найти все сообщения от asterion
  № 1  
Ответить с цитированием
asterion

Регистрация: Mar 2010
Сообщений: 18
По умолчанию отображение нескольких спрайтов в одном материнском

По идее слудующий код должен создавать несколько кругов и размещать их в произвольных координатах. Все круги вложены в спрайт canvas. Этот canvas прицеплен к положению мыши. Но почему-то отображается только один круг...
Код AS3:
var mas:Array=[];
var canvas:Sprite;
var alph:int=1;
init();
 
function init():void {
	Mouse.hide();
	canvas=new Sprite();
	addChild(canvas);
	for (var i:int=0; i<4; i++) {
		var cir:*=drawCir();
		mas.push(cir);
		//trace("cir "+i+" created");
	}
	position();
	test();
}
 
function drawCir():Sprite {
	var c:Sprite = new Sprite();
	c.graphics.beginFill(0);
	c.graphics.drawCircle(0,0,10);
	c.graphics.endFill();
	return c;
}
function position():void {
	for (var f:int=0; f<mas.length; f++) {
		canvas.addChild(mas[f]);
		mas[f].x=Math.random()*100;
		trace(mas[f].x);
		mas[f].y=Math.random()*100;
		mas[f].alpha=alph;
		alph-=0.1;
		trace(canvas.numChildren);
	}
}
addEventListener(Event.ENTER_FRAME, UPD);
function UPD(e:Event):void {
	canvas.x=mouseX;
	canvas.y=mouseY;
}
function test():void {
	for (var i:String in mas) {
		trace(mas[i]);
	}
}
trace показывает, что спрайты-таки создаются.