Просмотр полной версии : Набор текста
Добрый день.
http://www.vangogh-creative.it/main_popup.php?mode=fullscreen&lang=ita&flash=yes
Есть идеи как сделать такой набор текста? там слова loading набирается. Зайдите в раздел lab. Там название проектов тоже так набираются.
Но нужно учесть что текст большой может быть.
То есть чтобы для большого текста это выглядело так же красиво.
Спасибо,вопрос снят. Сделал
Если кому интересно, пишите
http://etcs.ru/blog/as2/ru/etcs/effects/texttween/
Кое что написал тут быстренько сам.Грязный код конечно, но писал ночью.вроде всё работает и оставил. Но при большом тексте начинает тормозить. Как можно оптимизировать?
function nabor(object,subject,inter_name,next_function:Function){
if(_root["inter_i"+inter_name]>=object.length){
subject.htmlText=object
_root["inter_i"+inter_name]=0;
clearInterval(_root[inter_name]);
}else{
for(i=0;i<_root["inter_i"+inter_name];i++){
if(_root["inter_i"+inter_name]-i<5){
a=Math.round(Math.random()*(symbols.length-1));
aaa=subject.htmlText;
subject.htmlText=aaa.substring(0,i-1)+symbols[a]+aaa.substring(i,subject.length-1);
}else{
aaa=subject.htmlText;
subject.htmlText=object.substring(0,i-1)+aaa.charAt(i)+aaa.substring(i,subject.length-1);
}
}
subject.htmlText+=object.charAt(_root["inter_i"+inter_name]++);
}
}
вызов
_root.inter_iinter_slogan=0;
_root.inter_slogan=setInterval(_root.nabor,32,"Renova. Group of Companies.",_root.slogan_txt,"inter_slogan");
Крутая вещь.Спасибо!
а можно как то отловить конец печатания. то есть например после набранного текста что нить трейсилось?
Крутая вещь.Спасибо!
а можно как то отловить конец печатания. то есть например после набранного текста что нить трейсилось?
У класса есть соответствующее событие.
Спасибо!
а вот такой вопрос
Функцию нельзя передать с параметрами,да?я это уже давно заметил. Функция сама сразу вызывается,не дожидаясь.Это как то можно обойти? вроде я читал что то про call, apply...
_root.tween.addEventListener(TextTween.STOP,_root.add_companies(0,this.razdel,this.nomer));
_root.tween.addEventListener(TextTween.STOP,_root.tween.proxy(_root, _root.add_companies, 0, this.razdel, this.nomer));
p.S. И не называйте переменные типа «razdel» и «nomer». Для этого есть нормальные варианты на английском.
Спасибо! Дурацкая привычка,и вправду нужно отвыкать от неё.
А вот если за пределами этого класса, то как можно обходить эту проблему?
А вот если за пределами этого класса, то как можно обходить эту проблему?
Поискать на форуме соответствующие решения. Ничего не мешает использовать и сам proxy у TextTween отдельно.
Да, я неправильно написал код, верный вот:
import ru.etcs.effects.TextTween;
_root.tween.addEventListener(TextTween.STOP, TextTween.proxy(_root, _root.add_companies, 0, this.razdel, this.nomer));
Функция вызывается, но немножко не правильно передаются парметры.
Сделал проверку:
1)в этой функции которая вызывается,я трейсли параметры
2)и сделал вне функции,сразу после той строчки с событием
_root.tween.addEventListener(TextTween.STOP, TextTween.proxy(_root, _root.add_companies, 0, this.razdel, this.nomer));
trace([0,this.razdel, this.nomer])
[object Object],0,2 - событие класса
0,2,1 - трейс
Трейс выдал всё правильно.а вот переданные параметры повели себя немного странно.2 и 3 пармаетр вены но должны стоять на 1 и 2 месте. и какой то объёект перед этим выдаёт
[object Object] — это объект события, который посылает TextTween. Дополнительные аргументы должны идти далее.
соответсвенно в самой функции, нужно добавить в начало какой нить аргумент,например object,для принятия его?
event:Object. Написать надо, а использовать необязательно.
Ясно.
А для чего это можно использовать?
Ещё такя вещь что использую нижеприведенный код в функции которые подключаются в root из файла .as. Всё работает. Пытаюсь сделать этот же самый код из другого места ролика, назначая его также на OnPress. не работает
трейс строчки _root.tween = new TextTween......... даёт резульатт undefined, хотя трейс этой же строчки из той функции гже работает, выдает инфу
В чём интересно здесь заключается проблема.
_root.tween = new TextTween(_root.data_xml.childNodes[0].childNodes[this.nomer].childNodes[0].attributes.text.toUpperCase(), Linear.easeOut, Linear.easeOut, 100, 2, 20);
_root.changedHandler = function(event:Object):Void {
_root.all_mc.content.pole.text = event.text;
}
_root.tween.addEventListener(TextTween.CHANGED,_root.changedHandler,this);
_root.tween.addEventListener(TextTween.STOP,_root.add_pechat);
Ясно.
А для чего это можно использовать?
В объекте есть type (тип) события и target (источник) события, т.е. ссылка на экземпляр TextTween.
Ещё такя вещь что использую нижеприведенный код в функции которые подключаются в root из файла .as. Всё работает. Пытаюсь сделать этот же самый код из другого места ролика, назначая его также на OnPress. не работает
трейс строчки _root.tween = new TextTween......... даёт резульатт undefined, хотя трейс этой же строчки из той функции гже работает, выдает инфу
В чём интересно здесь заключается проблема.
Возможно, вы забыли написать import ru.etcs.effects.TextTween; в самом начале.
Точно!А я не знал что нужно в каждом кадре импортить.
думал один раз на весь ролик
Спасибо!!
На днях выложу результат)
Цены Вам нет, для флэшеров!
Добрый вечер.
__etc я балдею от Вашего класса. Очень Вам за него благодарен.
Нельзя ли как то задать минимальную скорость набора, или что то ещё сделать, потому что в Вашем скрипте указываешь время, а не скорость для набора текста, то есть текст взятый из xml нормального размера, то всё красиво, а если текста мало очень берётся, то туго идёт, медленно очень.
Спасибо
А нельзя ли никак избавиться от тормозов? когда текст уже большой, то набор набирает большую скорость и строку большую добавляет, что влечет за собой тормоза. Можно ли что то придумать? например максимальную скорость задать или что. В общем что ни-будь чтобы избавиться от тормозов
Этот класс и не предназначен для набора больших текстов, сам по себе эффект выглядит должным образом только на коротких строках.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.