Кнопка AS3 внутри мувиклипа, используемого как часть полосы прокрутки - не работает - PullRequest
0 голосов
/ 13 февраля 2012

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

Если кто-то из вас узнает, что кто-то из участников боевых действий сможет указать мне правильное направление, возможно, я найду свое собственное решение.

Клиент хочет, чтобы я использовал пользовательские значки для полос прокрутки, и так как изменение компонента полосы прокрутки кажется таким PIA, я стараюсь избегать использования компонентов.

Любая помощь будет оценена!

Ответы [ 2 ]

0 голосов
/ 16 февраля 2012

Вы можете добавить свой текст и кнопку в scrollPane с помощью ActionScript.Хороший учебник, показывающий основы, можно найти здесь: http://www.parorrey.com/blog/flash-development/as3-add-dynamic-movieclips-to-scrollpane-component-using-flash/

0 голосов
/ 13 февраля 2012

Почему бы просто не отобразить кнопку, когда пользователь прокручивает вниз текстовое поле?Размещение кнопки на самом деле "в" поле прокрутки не кажется очень чистым, особенно если пользователь затем снова прокручивает вверх, тогда кнопка будет скрыта.

Предполагая, что на вашей сцене есть TextField с именем "text_txt", SimpleButton или MovieClip с именем "someButton_mc" и UIScrollBar (из компонентов) с именем "scrollBar_mc";В свойствах полосы прокрутки установите для «scrollTargetName» значение «text_txt», чтобы связать полосу прокрутки с текстовым полем.Затем напишите что-то вроде этого:

import fl.controls.UIScrollBar;
import fl.events.ScrollEvent;

//Hide the "Call to action" button
someButton_mc.visible = false; 

var sb:UIScrollBar = UIScrollBar(scrollBar_mc);

//Monitor when user scrolls
sb.addEventListener(ScrollEvent.SCROLL, didScroll);

function didScroll(evt:ScrollEvent):void {
    //Check if user scrolled to bottom
    if(sb.scrollPosition == sb.maxScrollPosition){
        //Show button if at bottom
        someButton_mc.visible = true; 
        //Cleanup event listener since no longer needed
        sb.removeEventListener(ScrollEvent.SCROLL, didScroll);
    }
}

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

Еще одна вещь: убедитесь, что «text_txt» является многострочным и содержит достаточное количество текста для целей тестирования.

...