Вспышка: AS3 - вывод символа на передний план при наведении курсора мыши на фильм.

Я создал карту Европы во Flash, используя AS3. Я абсолютный новичок. Каждая страна была преобразована в фильм (с помощью инструмента лассо). Эти фильмы находятся на одном слое (с небольшими видимыми контурами) на основной временной шкале. На другом основном слое временной шкалы находится исходная контурная карта Европы.

Мне удалось сделать так, чтобы при наведении курсора на страну прямоугольная анимация увеличивалась до полного размера (для последующей вставки текста).

Мне нужно сделать так, чтобы при наведении курсора на каждую страну текстовое поле этой страны (которое появляется на Roll_Over) появлялось «впереди».

На данный момент текстовые поля нескольких стран работают отлично (например: заполнены белым и полностью видимы), но большинство из них либо скрыто под основной картой, либо случайным образом проходит через нечеткие контуры фрагмента ролика (которые находятся впереди).

Я предполагаю, что это связано со списком отображения. Страны, которые отлично работают, вероятно, находятся на вершине. Но как мне сделать так, чтобы перевернутая страна сразу уходила на вершину и возвращалась на Roll_Out?

Это завершит мою карту, поэтому любая помощь будет ОЧЕНЬ благодарна.

Я использовал следующий код:

// КАДР ПЕРВЫЙ

this.stop();
movieClip_6.addEventListener(MouseEvent.ROLL_OVER, fl_MouseOverHandler_15);
function fl_MouseOverHandler_15(event:MouseEvent):void
{
gotoAndPlay(2); 
}
movieClip_6.addEventListener(MouseEvent.ROLL_OUT, fl_MouseOutHandler_67);
function fl_MouseOutHandler_67(event:MouseEvent):void
{
gotoAndStop(1); 
}

// РАЗДЕЛ НИЖЕ - МОЯ ПРОБЛЕМА

movieclip_6.addEventListener(MouseEvent.ROLL_OVER,Rollover,false,0,true);
function Rollover(event:MouseEvent): void
{ 
setChildIndex(MovieClip(e.target),this.numChildren-1);
} 

Спасибо заранее.


person user2020088    schedule 29.01.2013    source источник
comment
Является ли бокс частью ролика о стране или добавляется непосредственно на шкалу времени?   -  person abnvp    schedule 29.01.2013
comment
Спасибо за вашу помощь с этим. Я потратил некоторое время и понял, что для этого не нужен код. Я распределил все страны «по всем слоям» (что тогда означало, что все страны были на главной временной шкале), затем я мог расположить основную карту (растровое изображение) внизу, так что все слои были поверх нее. Затем я изменил все кнопки страны на 0% альфа ... и это сработало. Еще раз большое спасибо за помощь, и я уверен, что предоставленный код поможет в будущем.   -  person user2020088    schedule 01.02.2013


Ответы (2)


Вы можете попробовать снова вызвать addChild () для DisplayObject / Movieclip, чтобы вывести его на передний план. Вместо:

setChildIndex(MovieClip(e.target),this.numChildren-1);

Попробуйте пойти:

addChild(MovieClip(e.target));
person mitim    schedule 29.01.2013
comment
Спасибо за вашу помощь с этим. Я потратил некоторое время и понял, что для этого не нужен код. Я распределил все страны «по всем слоям» (что тогда означало, что все страны были на главной временной шкале), затем я мог расположить основную карту (растровое изображение) внизу, так что все слои были поверх нее. Затем я изменил все кнопки страны на 0% альфа ... и это сработало. Еще раз большое спасибо за помощь, и я уверен, что предоставленный код поможет в будущем. - person user2020088; 01.02.2013

Вы можете использовать «слои», чтобы помещать объекты друг перед другом.

конструктор:

//Create the front layer
var frontLayer:Sprite = new Sprite();

//put all text boxes into front layer
frontLayer.addChild(textbox1); //etc...

//Add layer to mc
addChild(frontLayer);

всплывающее окно:

textbox1.visible = true;

всплывающее:

textbox1.visible = false;
person a young programmer    schedule 29.01.2013
comment
Спасибо за вашу помощь с этим. Я потратил некоторое время и понял, что для этого не нужен код. Я распределил все страны «по всем слоям» (что тогда означало, что все страны были на главной временной шкале), затем я мог расположить основную карту (растровое изображение) внизу, так что все слои были поверх нее. Затем я изменил все кнопки страны на 0% альфа ... и это сработало. Еще раз большое спасибо за помощь, и я уверен, что предоставленный код поможет в будущем. - person user2020088; 01.02.2013