Flash Grid изображений с действиями ролловера - PullRequest
0 голосов
/ 29 июля 2011

Хорошо, пытаясь найти решение этой проблемы, я искал везде. У меня есть флеш-проект с сеткой изображений; 3 изображения высотой по 4 изображения в ширину. Вот что я хочу, когда вы перемещаете каждое изображение, другие покрываются увеличенной версией конкретного изображения, без каких-либо причудливых анимаций или чего-то в этом роде, оно просто должно появиться.

Проблема, с которой я сталкиваюсь, заключается в том, что расширенное изображение является частью ролловера, поэтому при перемещении в любом месте расширенного изображения должно отображаться большее изображение. Таким образом, вопрос на миллион долларов заключается в следующем ... как сделать так, чтобы единственная активная часть действия ролловера была уменьшенной версией изображения?

Спасибо!

Ответы [ 3 ]

0 голосов
/ 29 июля 2011

Другой способ - использовать онтерфрейм Событие, чтобы проверить наличие mousex и mousey и посмотреть, находятся ли они в предопределенных областях.

0 голосов
/ 31 июля 2011

Просто создайте кнопки, которые имеют только «хитовые» области, но в других состояниях нет изображения или графики. Или мувиклипы, заполненные 0% альфа-заливками, которые соответствуют размеру / местоположению ваших миниатюр. Не пытайтесь делать все с одним объектом, но используйте клипы с взаимодействием с мышью, которые живут выше всех ваших клипов с изображениями. Вы можете использовать любую схему сопоставления, которая имеет смысл для управления действиями с миниатюрами / полными изображениями.

Например,

(с использованием очень короткого сокращения AS3):

назовите ваши кнопки "b_0", "b_1" и т. Д.

назовите ваше изображение MC "img_0", "img_1" и т. Д.

когда вы получаете событие rollOver для кнопки, получите его имя экземпляра (buttonname = event.currentTarget.name) и используйте метод String 'split', чтобы получить идентификационный номер (id = buttonname.split ("_") [1]).

Затем вы можете выбрать правильный MC изображения с помощью 'getChildByName ("img_" + id).

Суть в том, что вам придется использовать код, потому что он просто лучше, и вы скоро сможете делать очень забавные вещи, как только получите некоторый опыт. Это забавная проблема, но для которой вы захотите использовать AS3. Существуют на порядок более элегантные решения, которые я обрисовал выше, но вам нужно с чего-то начать :)

0 голосов
/ 29 июля 2011

Чтобы ответить на ваш вопрос, вы можете поместить невидимое поле нужного размера и добавить события мыши в поле, а не в объект в целом. Возможно, лучшим решением было бы не включать большое изображение в «миниатюру», а загружать его при переворачивании.

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

...