Показать сообщение отдельно
Старый 30.01.2008, 02:28
xomka вне форума Посмотреть профиль Отправить личное сообщение для xomka Найти все сообщения от xomka
  № 4  
xomka

Регистрация: Sep 2005
Адрес: Spb
Сообщений: 32
Отправить сообщение для xomka с помощью ICQ
Сделал следующим образом, прошу оценить верно ли решение и насколько оно коряво.

В этом мувике добавил еще один кадр, и:

Код:
var models:Array = new Array();
models[0] = model1;
models[1] = model2;
models[2] = model3;

var output:uint;
var i:uint = 0;
var j:uint = 0;

if(output!=1){#Это чтобы при каждом входе во фрейм объекты заново    
                  #не  выстраивались

	for each (var obj in models) {
	obj.x = i;
	obj.st_x = i;
	i += obj.width + 5;
	obj.__id = ++j;
	obj.addEventListener(MouseEvent.CLICK, moveModel);
}
output=1;
}

function moveModel(event:Event):void {
	for each (var obj in models) {
		if (obj.__id > event.target.__id) {
			obj.moveObjRight = 1; # всем мувикам которые правее я назначаю свойство, чтобы двигать их.

			}
	}
}


for each (var obj2 in models) { # теперь при каждом входе во фрейм я проверяю у каких объектов свойство moveObjRight=1 и двигаю их...    И вообще такую конструкцию я замутил, чтобы двигать объекты постепенно, а не просто поменять координаты, то есть для анимации
	if(obj2.moveObjRight==1){
		obj2.x+=1;
		}
	if(obj2.st_x < obj2.x - 10 ){ # Как только они отодвинулись на нужное расстояние приравниваю свойство moveObjRight=0 и они соответственно перестают отодвигаться...
		obj2.st_x = obj2.x;
		obj2.moveObjRight = 0;
		}	
}
Так же не могу понять, мне необходимо чтобы при повторном щелчке по объекту все "отодвинутые" двигались обратно. Или же если щелчок по другому объекту, то необходимо "отодвинутые" поставить на место и начать перемещение уже относительно того по которому щелкнули...

Извините за корявость изложения))

Для ясности скажу, что именно я пытаюсь сделать:
есть ряд картинок, при щелчке по одной из них все правостоящие отодвигаются в сторону, и рядом с той по которой щелкнули появляется блок с описанием, при щелчке по другой, все обратно задвигается и действие повторяется уже относительно той, по которой щелкнули.