Показать сообщение отдельно
Старый 19.02.2010, 02:10
ColdKeeper вне форума Посмотреть профиль Отправить личное сообщение для ColdKeeper Найти все сообщения от ColdKeeper
  № 3  
Ответить с цитированием
ColdKeeper
 
Аватар для ColdKeeper

Регистрация: Dec 2005
Сообщений: 4
Да мне не надо его переделывать, я хочу понять как такие действия впринципе организованы... =) Подумал что может быть кто-нибудь хоть на словах приблизительно объяснит алгоритм действия. А исходник прикрепил, потому что мне кажется что так проще понять, что я имею введу=)

А дела у меня обстоят вот так:

XML и его парсинг постить сюда, я думаю не обязательно

У меня на сцене есть мувик-контейнер под названием picture расположенный в левом верхнем углу сцены.
В него загружается первая картинка вот таким кодом
Код AS1/AS2:
function firstImage() {
	TweenLite.to(picture, 1, {_x:0}); //анимирую движение слевой стороны на право до позиции _х = 0
	picture._x = 750; //устанавливаю позицию мувика за сценой
	picture.loadMovie(image[0], 1); 
}
объявляю переменную, которая будет счётчиком
Код AS1/AS2:
var p = 0;
Эта функцию выполняет у меня роль показа следующей картинки
Код AS1/AS2:
// Показываем следующую картинку
function nextImage() {
	if (p<(total-1)) {
		p++;
		picture._x = 750 // устанавливаем начальную позицию картинки
		TweenLite.to(picture, 1, {_x:0}); // анимация картинки
		picture.loadMovie(image[p], 1) //загружаем картинку
		}
	}
}
Функция отвечающая за показ предыдущего изображения
Код AS1/AS2:
function prevImage() {
	if (p>0) {
		p--;
		picture._x = -750;
		TweenLite.to(picture, 1, {_x:0});
		picture.loadMovie(image[p], 1); //загружаем картинку
	}
}
Сейчас у меня выходит так, что первая картинка кладётся в мувик picture и выполняется анимация, после нажатия кнопки, в этот же мувик кладётся следующая картинка и опять проигрывается анимация.
Для получения того, что я хочу, мне, получается, нужно добавить второй мувик контейнер, в который бы загружалась сразу вторая картинка, затем, при нажатии на кнопку, проигрывались две анимации одновременно. Вот так я попытался сделать
Код AS1/AS2:
function firstImage() {
		TweenLite.to(picture, 1, {_alpha:100});
		picture._alpha = 0;
		picture2._x = 750;
		picture.loadMovie(image[0], 1);
		picture2.loadMovie(image[1], 1);
}
А в функцию появления следующей картинки, написал вот так:
Код AS1/AS2:
function nextImage() {
	TweenLite.to(picture, 1, {_x:-750}); // анимация картинки
	if (p<(total-1)) {
		p++;
		picture2._x = 750
		TweenLite.to(picture2, 1, {_x:0});
		picture.loadMovie(image[p], 1) //загружаем картинку
		picture2.loadMovie(image[p+1], 1) //загружаем картинку
	}
}
И теперь у меня получается, что когда я нажимаю на кнопку, чтобы посмотреть следующую картинку, он сразу загружает мне уже 3ю

[IMG]http://i072.***********/1002/17/954fb7c92f6d.jpg[/IMG]

А если ещё раз нажать, то выглядит вообще вот так

[IMG]http://i072.***********/1002/8c/1c3e2f90853a.jpg[/IMG]

Где я ошибаюсь?Не пойму никак...