Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Проблемы с flash галереей (http://www.flasher.ru/forum/showthread.php?t=157298)

vivado 03.06.2011 12:53

Проблемы с flash галереей
 
Всем привет,
Делаю флеш галерею, но столкнулся с одной проблемой.
Мне нужно чтобы активная превьшка картинки выделялась рамкой.
Сделал просто, что при нажатии на кнопку превьюшки она выделяется (типа чекбокс), но возникает другая проблема как мне убирать такие рамки с других превьюшек.

http://modxtest.1gb.ru/test/1.jpg

А еще если делать просмотр изображений по кнопке Play или клавишами |<< и >>|
то как тогда выделять превьюшку автоматом.
С аттачем у меня тоже не получается приаттаченная рамка при скроллинге превьюшек остается на месте.

Если кому не трудно. Помогите решить проблему... Спасибо.

Вот исходник.
Исходник

TYPUS406 05.06.2011 10:45

Скорее всего не лучший вариант, но как то в "тишине" , тему поднять.
-внедрить рамку в основную картинку , пусть за компанию работает
-сделать отдельный мувик с рамками (1кадр-рамкаА итд), и одновременно с просмотром запускать

dark256 05.06.2011 12:56

решать проблему на уровне "вот исходник" - вам лучше в вакансиях :)

Yakuzo 05.06.2011 13:05

Создайте глобальную функцию setSelected(item) и переменную, в которой будете запоминать предыдущий выделенный элемент. В этой функции можно прописать логику для отображения рамки на выделенном тамбнейле и снимать выделение предыдущего элемента. Например так:

Код AS1/AS2:

function setSelected(item)
{
        if (selectedItem)
        {
                selectedItem._parent.tn_border.gotoAndStop(1);
        }
 
        item._parent.tn_border.gotoAndStop(2);
        _root.p = item._parent.tn_no;
        _root.play();
        selectedItem = item;
}

А потом уже просто дергать этот метод отовсюду.

vivado 07.06.2011 13:29

Цитата:

Сообщение от Yakuzo (Сообщение 1001317)
Создайте глобальную функцию setSelected(item) и переменную, в которой будете запоминать предыдущий выделенный элемент. В этой функции можно прописать логику для отображения рамки на выделенном тамбнейле и снимать выделение предыдущего элемента. Например так:

Код AS1/AS2:

function setSelected(item)
{
        if (selectedItem)
        {
                selectedItem._parent.tn_border.gotoAndStop(1);
        }
 
        item._parent.tn_border.gotoAndStop(2);
        _root.p = item._parent.tn_no;
        _root.play();
        selectedItem = item;
}

А потом уже просто дергать этот метод отовсюду.

Спасибо большое Yakuzo, это хоть что то...
Только все равно я походу что то не так сделал.
смотри прописал функцию и ввел переменную itemNum которая берет значения номера превьюшки (tn_no) по нажатию на превьюшку вот так:

Код AS1/AS2:

tn_group["tn"+i].tn_button.onPress = function() //При нажатии кнопки мышки на превьюшке
        {                       
                itemNum=this._parent.tn_no;
                setSelected(itemNum); //Обращаюсь к функции
 
info="запуск функции "+itemNum; 
trace (info);
 
// Грузим большую картинку
_root.p = item._parent.tn_no;
_root.play();
 
}

itemNum принимает значения 1,2,3... и т.д.
Ну и функцию прописал как вы советовали...

Код AS1/AS2:

function setSelected(item) //Снимает выделение с предыдущей рамки
{
        if (selectedItem)        {
                // убираем рамку
                selectedItem._parent.tn_border.gotoAndStop(1);
        }
                // отображаем рамку
                item._parent.tn_border.gotoAndStop(2);
                //_root.p = item._parent.tn_no;
                //_root.play();
                selectedItem = item;
}

Такое впечатление, что обращения к мувику рамки не происходит,
(я поставил в мувике рамки трайсеры на кадр 1 и 2) может чтото не так написал или переменную нужно по другому вводить?

Вот исходник на текущий момент
http://modxtest.1gb.ru/test/gallery.rar

Добавлено через 48 минут
Yakuzo ОГРОМНОЕ СПАСИБО!!!
Я разобрался, просто переменной не то значение присваивал.
Код AS1/AS2:

tn_group["tn"+i].tn_button.onPress = function() //При нажатии кнопки мышки
        {                       
                itemNum=this._parent.tn_pic; //Присваиваем переменной ИМЯ (!) превьюшки
                setSelected(itemNum); //Обращаемся к функции отвечающей за рамки
 
                _root.p = this._parent.tn_no;
                _root.play();
 
        }

Yakuzo чтоб я без тебя делал, спасибо спасибо,спасииииибо )))


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

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