PDA

Просмотр полной версии : Скроллинг текста


BLOOD585
08.02.2011, 13:52
На сцене динамическое текстовое поле, в которое программно вводится текст.
Скроллинг решил сделать не текста, а мувика, чтобы в дальнейшем например плавное замедление прикрутить.
Размер отображаемого на экране текста 395, остальное лежит под маской.
Только вот что то видимо упустил, больше текста вводишь, не до конца пролистывается, меньше, так он уходит вверх больше чем нужно.

BLOOD585
08.02.2011, 15:15
Может кто альтернативу уже готовую посоветует))

mooncar
08.02.2011, 15:23
Исходник лично у меня на CS3 не открывается.
А обычная альтернатива для такой задачи - стандартный компонент ScrollPane.

BLOOD585
08.02.2011, 15:34
this.onLoad= function()
{
for(var i=0;i<19;i++)
{
_root.scrol.tex.my_txt.text+='OLOLOLOLOLOLOL\n';

}
_root.scrol.tex.my_txt._height=_root.scrol.tex.my_txt.textHeight; //Высоту до размеров текста
//scroll мувик-маска в котором лежит мувик tex с текстовым полем
}




pad.onPress= function()
{
this.onEnterFrame=function()
{
this._y=_ymouse;
if(this._y<100)this._y=100;
if(this._y>495)this._y=495; //Размер окна 395

_root.scrol.tex._y=((0-(this._y)+100)*(_root.scrol.tex.my_txt.textHeight/395));
//Чтобы текст ехал вверх вычитаю из 0 координаты ползунка+100, т.к х=100 и умножаю на высоту текста/высоту окна 395

}
}

pad.onRelease=function()
{
this.onEnterFrame=null;
}

pad.onReleaseOutside=function()
{
this.onEnterFrame=null;
}

Добавлено через 35 минут
В общем все норм заработал скрол с этим кодом, как вот только теперь сделать чтобы он не уезжал выше конца текста

mooncar
08.02.2011, 16:23
Может быть, воспользуетесь готовыми решениями?
PS. Второй вариант не кошерный, там код еще на объектах, переделать легко.

BLOOD585
08.02.2011, 16:32
Да пожалуй то что хотелось,только немного под себя покрутить)) Большое спасибо!!!

Добавлено через 18 часов 44 минуты
Теперь новая проблема))) Нужно чтобы текст плавно появлялся, но из за маски с альфой проблемы, хотя пробовал embed текст. Как это туда приладить

var speedTwin = 2;
tx2._alpha = 0;

onEnterFrame = function (){
if(tx1._alpha > 0){
tx2._alpha += speedTwin;
}
}

Даже проблема не из за кода а из за маски, trace выводит изменение прозрачности

Добавлено через 18 часов 56 минут
Все разобрался надо с Anti-alias покрутить))

rkorkin
11.05.2011, 22:27
Взял ваш файл (Прокрутка_2.rar)
Все вроде бы хорошо, вот только не могу понять почему не до конца докручивается контент?!

mooncar
11.05.2011, 23:23
Прокрутка_2.rar - не мой пример, тоже где-то скачал оч. давно. Как сейчас посмотрел, это даже на декомпил боьше похоже, зря я его выложил. Обсуждать его не стоит, к тому же там код на объектах. А так - похоже, что из-за того, что кнопка скролл-бара не проходит до конца.

rkorkin
11.05.2011, 23:56
блин..) а есть может хороши пример с которым можно дружить?!) а то уже замучился искать.
З.Ы. кнопка скр.бара доходит до конца