Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Скрул прокрутка (http://www.flasher.ru/forum/showthread.php?t=205908)

vlbuto 29.12.2013 17:25

Скрул прокрутка
 
Здравствуйте.

Scroll полоса прокрутки уходит за границу сцены. Это логично, потому что я установил его по высоте mytext.

Проблема номер 1.

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

Проблема номер 2.

Когда прокручиваю текст до упора вниз, сам текст уходит за нижний край, как можно это исправить?

Код AS3:

package  
{
        import flash.display.MovieClip;
        import flash.text.TextField;
        import fl.controls.UIScrollBar;
        import fl.controls.Button;
        import flash.events.MouseEvent;
 
        [SWF(height = 600, width = 600)]
 
        public class Main extends MovieClip
        {
 
                private var mytext:TextField = new TextField();
                private var sb:UIScrollBar = new UIScrollBar();
                private var btn:Button = new Button();
 
 
                public function Main()
                {
                        btn.label = "Начать"
                        btn.width = 100;
                        btn.height = 30;
                        btn.x = 0;
                        btn.y = 0;
                        btn.addEventListener(MouseEvent.CLICK, funcBtnClick);
                        addChild(btn);
                }
                private function funcBtnClick(e:MouseEvent):void
                {
                        for(var i : int = 0 ; i < 40 ; i++)
                        {
                                mytext.border = true;
                                mytext.x = btn.width;
                                mytext.width = btn.width + 300;
                                mytext.height = 40*17;
                                mytext.appendText("инерация" + " " + i + "\n");
                                addChild(mytext);
 
                                sb.direction = "Vertikal";
                                sb.setSize(mytext.width , mytext.height);
                                sb.move(mytext.x + mytext.width , mytext.y);
                                sb.scrollTarget = mytext;
                                addChild(sb);
                        }
 
                }
        }
}


samana 29.12.2013 20:01

1) Просто не создавайте высоту текстового поля больше, чем высота сцены.
2) Вторую проблему не понял, если честно.
p.s. И оставьте в цикле только,
Код AS3:

mytext.appendText("инерация" + " " + i + "\n");

а остальное вынесите из цикла, зачем оно там?

vlbuto 30.12.2013 00:04

Цитата:

Сообщение от samana (Сообщение 1156196)
1) Просто не создавайте высоту текстового поля больше, чем высота сцены.
2) Вторую проблему не понял, если честно.
p.s. И оставьте в цикле только,
Код AS3:

mytext.appendText("инерация" + " " + i + "\n");

а остальное вынесите из цикла, зачем оно там?

Спасибо. Разобрался сразу после создания темы, включая уборку в цикле :)
Бывают дни когда соображается как то не так.


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

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