Показать сообщение отдельно
Старый 27.11.2008, 05:45
derhab вне форума Посмотреть профиль Отправить личное сообщение для derhab Найти все сообщения от derhab
  № 13  
Ответить с цитированием
derhab
 
Аватар для derhab

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
а вот когда ты дождался (после таймаута) добавления вложенного клипа в дисплейлист, можешь применить к этому клипу addFrameScript

Код AS3:
package
{
 
	import flash.display.MovieClip;
	import flash.utils.setTimeout;
	import flash.events.Event;
 
	public class Example extends MovieClip
	{
 
		private var _quantity:int = 5;
 
		public function Example()
		{
			var delay:Number = Math.ceil(1000 / stage.frameRate);
 
			for (var i:int = 1; i <= _quantity; i++) {
 
				var mc:Mc = new Mc();
				mc.gotoAndStop(i);
				mc.visible = false;
				setTimeout(stopClip, delay, mc, i);
 
				mc.x = 100 * i;
				mc.y = 200;
				addChild(mc);
 
			}
		}
 
		private function stopClip(parentMC:MovieClip, index:int):void
		{
			var child:MovieClip = parentMC.getChildByName('symbol' + index) as MovieClip;
			var frame:uint = 1 + Math.floor(Math.random() * _quantity);
			child.addFrameScript(0, function(){
						   child.gotoAndStop(frame);
						   child.rotation = Math.random()* 360; 
                                                   child.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
						   parentMC.visible = true;
					       });
 
		}
 
		private function enterFrameHandler(e:Event):void
		{
			var clip:MovieClip = e.target as MovieClip;
			var scale:Number = .3 + Math.random();
			clip.scaleX = clip.scaleY = scale;
		}
	}
}
__________________
freelance | Раздор


Последний раз редактировалось derhab; 27.11.2008 в 05:49.