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

Регистрация: Jul 2011
Адрес: SPb
Сообщений: 34
Помогите разобраться в данной форме записи:
Код AS3:
private function adder (...rest):void
	{
		for each (var obj: Object in rest)
				{
					var btn: MovieClip = new (obj.def)();
					var _x: int= new (obj._x)();
					btn.x = btn._x;
					var _y: int= new (obj._y)();
					btn.y = btn._y;
					if ('animate' in obj)//Анимировать появление?
					{
						btn.scaleX = 0;
						btn.scaleY = 0;
						Actuate.tween(btn, 3, { scaleX: 1, scaleY:1 });
					}
					addChild(btn);
				}
	}
Вызываю функцию следующим образом:
Код AS3:
adder( { def: Header, _x: stage.stageWidth / 2, _y:stage.stageHeight / 8.3, animate:true } );
Переменная объявлена:
Код AS3:
private var Head: Header= new Header;
Все переменные, передаваемые в функцию различных классов, но по-сути MovieClip.
Actuate - вложенная библиотека, соответственно.

Ошибка выдаётся на этой строке var _x: int= new (obj._x)();
Error #1007: Попытка реализации в объекте, который не является конструктором.

P.S.: Код подкинули, в терминах плохо разбираюсь. Очень нужна функция, для множества переменных.