Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.02.2010, 00:48
ColdKeeper вне форума Посмотреть профиль Отправить личное сообщение для ColdKeeper Найти все сообщения от ColdKeeper
  № 1  
Ответить с цитированием
ColdKeeper
 
Аватар для ColdKeeper

Регистрация: Dec 2005
Сообщений: 4
По умолчанию Создание XML галереи с использованием TweenLite

Всем привет!
Подскажите пожалуйста, как мне сделать галерею, у которой картинки бы менялись друг за другом.
В прикреплённом архиве то, что у меня получилось, но работает она немного не так, как мне бы хотелось. Сейчас, нажимаю на кнопку следующей или предыдущей картинки, она быстро пропадает и тут же появляется следующая, а я хочу сделать так, чтобы при нажатии на кнопку например следующей картинки, эта картинка уезжала налево, а следом за ней появлялась ехала новая...
На сколько я понимаю, мне нужно использовать два мувика-контейнера, но чего то я не могу сообразить как их так сделать)
Подскажите кто-нибудь, пожалуйста?

Исходник

Старый 19.02.2010, 01:17
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
а я хочу сделать так, чтобы при нажатии на кнопку например следующей картинки, эта картинка уезжала налево, а следом за ней появлялась ехала новая...
Ну вы начинайте... А мы подмогнем, если что. Исходник тут вряд ли кто-то возьмется за вас переделывать.

Старый 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]

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

Старый 19.02.2010, 03:27
Tochilin вне форума Посмотреть профиль Отправить личное сообщение для Tochilin Найти все сообщения от Tochilin
  № 4  
Ответить с цитированием
Tochilin

Регистрация: Apr 2007
Сообщений: 53
Уверены что TweenLite подключили?

тип того
Код AS1/AS2:
import gs.TweenLite;
import gs.easing.*;
подозреваю что проблема именно в нем. попробуйте обычный Tween class. Он ничем не хуже.

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

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

Создать новую тему Ответ Часовой пояс GMT +4, время: 09:59.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
TweenLite , xml , галерея
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 09:59.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.