Показать сообщение отдельно
Старый 13.11.2006, 14:28
pkfun вне форума Посмотреть профиль Отправить личное сообщение для pkfun Посетить домашнюю страницу pkfun Найти все сообщения от pkfun
  № 3  
Ответить с цитированием
pkfun

Регистрация: Feb 2006
Сообщений: 580
Не смог понять, что точно вы хотите сделать своим кодом, но конкретно по вставке из библиотеки скажу следующее:
вы передаете в функцию button_wait четыре параметра - xx, yy, xz, yz. Эти переменные, как и переменная st, будут существовать пока исполняется функция button_wait. Что делает у вас эта функция? Она аттачит мувик but из библиотеки, создает локальную переменную st, запускает обработчик onMouseDown для мувиклипа _root, запускает обработчик onRelease для мувиклипа but_mc, уничтожает переменные xx, yy, xz, yz, st, заканчивается.
Т.о, после окончания работы функции у вас нехватает параметров для аттача второго мувика(ukaz_mc).
Вам просто нужно прописать параметры для ukaz_mc во внешних переменных, либо использовать параметры but_mc.
Вот примерный вариант:
Код:
var pt:MovieClip = this;
var mc:MovieClip;
var st:Number = 1;
//
function button_wait(xx, yy, xz, yz:Number):Void {
	work = true;
	mc = pt.attachMovie('but', 'but_mc', pt.getNextHighestDepth(), {_x:xx, _y:yy, _height:yz, _width:xz});
	mc.useHandCursor = false;
	pt.onMouseDown = function():Void  {
		st++;
		if (st>20) {
			trace(mc._x+':'+mc._y);
			if (mc._x<120 && mc._y>75) {
				pt.attachMovie('ukaz', 'ukaz_mc', pt.getNextHighestDepth(), {_x:mc._x+mc._width/2, _y:mc._y+mc._height/2});
			}
		}
	};
	mc.onRelease = function():Void  {
		mc.removeMovieClip();
		delete pt.onMouseDown;
		ukaz_mc.removeMovieClip();
		work = false;
	};
}