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

Регистрация: Aug 2002
Сообщений: 44
По умолчанию цикл создаёт кнопки.

AS2 создаёт некоторое количество кнопок при помощи ф-ции _root.createEmptyMovieClip.
во время создания каждой из кнопок в клипе-кнопке рисуется прямоугольник, который будет областью для клика.

После компиляции, при нажатии на любую кнопку происходит переход не на разные ссылки, а на одинаковую, независимо от того, на какую кнопку я нажал.
Код:
for(i in ppmn){
			buttonAttrib = ppmn[i].attributes;
			_root.createEmptyMovieClip(buttonAttrib.id, _root.getNextHighestDepth());
//подготовка переменных с координатами для рисования квадрата
			x1 = Number(buttonAttrib.x);
			y1 = Number(buttonAttrib.y);
			x2 = (Number(buttonAttrib.x) +  Number(buttonAttrib.w));
			y2 = (Number(buttonAttrib.y) + Number(buttonAttrib.h));
//Рисование квадрата
			with (_root[buttonAttrib.id]) {
				useHandCursor = true
				beginFill (buttonAttrib.x + 10, buttonAttrib.y + 10);
				moveTo (x1, y1);
				lineTo (x2, y1);
				lineTo (x2, y2);
				lineTo (x1, y2);
				lineTo (x1, y1);
				endFill ();
			}
//События			
_root[buttonAttrib.id].onRelease = function () {
				trace(buttonAttrib.url);
				SWFAddress.setValue(buttonAttrib.url);
			}
			_root[buttonAttrib.id].onRollOver = function() {
				SWFAddress.setStatus(buttonAttrib.url);
			}
			_root[buttonAttrib.id].onRollOut = function() {
				SWFAddress.resetStatus();
			}
			_root.error_txt.text = _root.error_txt.text + buttonAttrib.x;
		}
мне кажется, что тут проблема с уровнями.... но это догадка, и я не знаю как это исправить.

PS: После решения проблемы со ссылками, как мне сделать, чтобы кнопки нажимались, но их небыло видно? Альфа = 0 - это тру?

++++++++++++++++++++++++++++++++++++++++++++++++++++++

Теперь появилось другое предполажение, что проблема тут:
Код:
_root[buttonAttrib.id].onRelease = function () {
	trace(buttonAttrib.url);
	SWFAddress.setValue(buttonAttrib.url);
}
возможно после завершения цикла, строка SWFAddress.setValue(buttonAttrib.url); для каждой из кнопок имеет именно такой вид (вуквально), а не то, что я бы хотел получить.

Мне надо, чтобы после выполнения цикла, у меня для каждой кнопки эта строка имела вид:
SWFAddress.setValue("моё значение");
,а не
SWFAddress.setValue(buttonAttrib.url);


Последний раз редактировалось bettrrr; 18.09.2007 в 21:06.