![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2006
Сообщений: 7
|
Нужно сделать текстовый эффект так чтобы текст печатался по букве (эффект печатной машинки) типа экрана DOS, несколько секунд стоял потом стирался побуквенно, и печатался новый текст и т.д.)
|
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
Ну так в чем проблема, делайте.
|
|
|||||
|
ветеран форума
|
В поиск, обсуждалось.
Делается засчет изменения свойства text у динамического текстового поля через setInterval/setTimeout
__________________
4am is time to rock |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 7
|
Цитата:
|
|
|||||
|
Регистрация: Aug 2007
Адрес: Москва
Сообщений: 56
|
Куда уж подробнее
![]() Надо периодически вызывать функцию, которая меняет text в текстовом поле, согласно вашим правилам. Первый раз вызвал функцию, она добавила первый символ. Второй раз — второй символ и т.д. |
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
var strings:Array = [
'Нужно сделать текстовый эффект так чтобы текст печатался по букве (эффект печатной машинки) типа экрана DOS, несколько секунд стоял потом стирался побуквенно, и печатался новый текст и т.д.)',
'Ну так в чем проблема, делайте.',
'В поиск, обсуждалось.\nДелается засчет изменения свойства text у динамического текстового поля через setInterval/setTimeout',
'а поподробнее можно?!',
'Куда уж подробнее \nНадо периодически вызывать функцию, которая меняет text в текстовом поле, согласно вашим правилам. \n Первый раз вызвал функцию, она добавила первый символ.\n Второй раз — второй символ и т.д.'
];
var curr:Number = 1;
var odd:Boolean = false;
var str:String = new String( strings[0] );
var txt:TextField = createTextField('txt',1,0,0,Stage.width, Stage.height);
txt.wordWrap = true;
var i:Number = 0;
var d:Number = 1;
var rate:Number = 30;
//onEnterFrame = typeIt;
var intervalId:Number = setInterval( typeIt, rate );
function typeIt():Void{
txt.text = 'C:>'+ str.substr( 0, i ) + '_';
i += d;
if( i > str.length || i < 0 ){
if( i < 0 ) changeIt();
else rate = 10;
//else
waitSome();
d *= -1;
i += d;
}
updateAfterEvent();
}
function changeIt():Void{
if ( curr >= strings.length ) curr = 0;
str = new String( strings[curr++] );
rate = 30;
}
function waitSome():Void{
clearInterval(intervalId);
intervalId = setInterval( blink, 100 );
setTimeout (runAgain, 2000 );
}
function runAgain():Void{
clearInterval(intervalId);
intervalId = setInterval( typeIt, rate );
}
function blink():Void{
txt.text = 'C:>'+ str.substr( 0, i ) + (odd ? '_' : '');
odd = !odd;
}
|
|
|||||
|
Регистрация: Oct 2006
Сообщений: 7
|
Kikasso спасибо) я просто не мог понять что делать чтобы стиралось)
|
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 07:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|