Цитата:
Не понял, для чего брать текст с кадров клипа и печатать в режиме машинки в другое текстовое поле.
|
Я хотел не с одного поля в другое, а просто одно поле, в которое напечатать текст вручную в исходнике, и он появится с эффектом печати при запуске мувика) В поле печатать, чтобы было нагляднее, сразу был виден результат.
Хотя и так тоже сойдёт, просто можно поле из которого берётся текст за экран поставить.
А для чего можно использовать: можно сделать просто тест с эффектом печати, или интерактивную новеллу, или RPG с диалогами, да много чего)
Последний вопрос: переменная delay ведь отвечает за скорость? Я пытался изменить её для установления скорости печати для каждого варианта, но скорость почему то не меняется.
Код AS3:
stop();
var myString:String;
var myArray=[];
var delay:int = 100; //typing speed
var timer1:Timer = new Timer(delay);
stage.addEventListener(KeyboardEvent.KEY_DOWN, on_keyDown);
timer1.addEventListener("timer", frameLooper);
timer1.start();
function frameLooper(event:TimerEvent):void {
if (myArray.length>0) {
answer_tf.appendText(myArray.shift());
} else {
timer1.stop();
}
}
function on_keyDown(e:KeyboardEvent):void {
timer1.stop();
if (e.keyCode==49) {//1
delay = 10;
dialogs.gotoAndStop(1);
answer_tf.text="";
myString=dialogs.tf.text;
} else if (e.keyCode == 50) {//2
delay = 50;
dialogs.gotoAndStop(2);
answer_tf.text="";
myString=dialogs.tf.text;
} else if (e.keyCode == 51) {//3
delay = 100;
dialogs.gotoAndStop(3);
answer_tf.text="";
myString=dialogs.tf.text;
}
if (e.keyCode==49||e.keyCode==50||e.keyCode==51) {
myArray=myString.split("");
timer1.start();
}
}