|
|
|||||
Регистрация: Oct 2006
Сообщений: 8
|
Помогите, пожалуйста с галереей
Ребят, помогите пожалуйста. Дело в следующем.
Есть н-ное количество (больше 20) изображений одинакового размера в пикселях, хранящихся в библиотеке мувика. Нужно, чтобы при нажатии кнопок влево-вправо (вверх-вниз), эти изображения соответственно сменялись (и были, так сказать, в замкнутом круге). Я так понимаю, что их можно "загнать в массив", но как это реализовать не имею понятия. Пробовал один из примеров, предложенных в разделе "Исходники" (без массива), - получается нерентабельно; т.е. приходится разбивать фотки на группы 1..5, 5..9 и т.д. Если Вам несложно, покажите на примере (или напишите, что где прописывать (включая кнопки "вперёд-назад")). Заранее благодарен. |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
var maxframe = 6 // количество картинок (кадров в my_mc) next_btn.onPress = function(){ if (my_mc._currentframe == maxframe) { my_mc.gotoAndStop(1); } else { my_mc.nextFrame(); } } prev_btn.onPress = function(){ if (my_mc._currentframe == 1) { my_mc.gotoAndStop(maxframe); } else { my_mc.prevFrame(); } } Мувиклип затащи на сцену и обзови там my_mc Сделай две кнопки, назови их соотв. next_btn и prev_btn Скрипт повесь на первый кадр, укажи в нем кол-во картинок maxframe и наслаждайся листалкой |
|
|||||
Квач
Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
|
Предлагаю такое:
var pictureBaseName:String = "pic"; var picturesNum:Number = 3; var currentPicture:Number = 1; attachCurrentPicture(); function updatePictureIndicator() { this.indicator.text = currentPicture + "/" + picturesNum; } function attachCurrentPicture() { var newPictureName:String = pictureBaseName + currentPicture; this.attachMovie(newPictureName, newPictureName, this.getNextHighestDepth(), {_x:this.frame._x + 1, _y:this.frame._y + 1}); updatePictureIndicator(); } function nextPicture() { var oldPictureName:String = pictureBaseName + currentPicture; currentPicture = currentPicture + 1 > picturesNum ? 1 : currentPicture + 1; attachCurrentPicture(); this[oldPictureName].removeMovieClip(); } function previousPicture() { var oldPictureName:String = pictureBaseName + currentPicture; currentPicture = currentPicture - 1 < 1 ? picturesNum : currentPicture - 1; attachCurrentPicture(); this[oldPictureName].removeMovieClip(); } this.nextButton.onRelease = function() { nextPicture(); } this.previousButton.onRelease = function() { previousPicture(); } Исходник прикрепляю... Если будут вопросы, спрашивайте...
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Я тоже так хотел Только необходимость создавать более 20-ти клипов в библиотеке меня остановила. Зачем, если можно один и с кодом, в котором даже котёнок разберется?
|
|
|||||
Регистрация: Oct 2006
Сообщений: 8
|
Ребят, спасибо огромное! Очень выручили (вдвоём).
Вопросов больше пока нет. Ещё раз спасибо! |
|
|||||
Регистрация: Oct 2006
Сообщений: 8
|
Wolsh, насчёт котёнка верно подмечено!
|
|
|||||
Квач
Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
|
2 Wolsh:
Зачем 20? о_0 Для примера и 3-х хватит...
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого |
|
|||||
[+6 20.07.06]
Регистрация: Jul 2006
Сообщений: 18
|
Открываешь file> new> Там будет вкладка >templates далее выбираешь в меню >foto Sladeshows
Это обычная форма вставленая во флэш. Стиль меняешь вставляешь свои фотки вот и все. Все вообщем легко! |
Часовой пояс GMT +4, время: 12:37. |
|
« Предыдущая тема | Следующая тема » |
|
|