这里主要用到字符串的截取substring,每次从字符串中截取一个字符显示出来,就成了打印机了。

1、新建一fla文件printer.fla

2、F9在帧上添加脚本,如下:

var myText:String = '我能抽象出整个世界...\n但是我不能抽象出你... \n因为你在我心中是那么的具体...\n 所以我的世界并不完整... \n我可以重载甚至覆盖这个世界里的任何一种方法... \n但是我却不能重载对你的思念... \n也许命中注定了 你在我的世界里永远的烙上了静态的属性... \n而我不慎调用了爱你这个方法... \n当我义无返顾的把自己作为参数传进这个方法时... \n我才发现爱上你是一个死循环... \n它不停的返回对你的思念压入我心里的堆栈... \n在这无尽的黑夜中... \n我的内存里已经再也装不下别人... \n我不停的向系统申请空间...\n 但却捕获一个异常---我爱的人不爱我... \n为了解决这个异常... \n我愿意虚拟出最后一点内存... \n把所有我能实现的方法地址压入堆栈...\n 并且在栈尾压入最后一个方法---将字符串"我爱你,你爱我吗?"传递给你...\n如果返回值为真--我将用尽一生去爱你...\n 否则--我将释放掉所有系统资源..."';

var txtField:TextField = new TextField();
var txtFormat:TextFormat = new TextFormat("Arial",16,0xff33cc,true);
txtField.defaultTextFormat = txtFormat;
addChild(txtField);
txtField.x = 50;
txtField.y = 20;
txtField.textColor = 0xf669900;
txtField.width = 550;
txtField.height = 480;
txtField.multiline = true;//multiline属性设置文本对象是否支持多行显示文本,默认为false,要使用多行文本,需要将该属性的值设置为true;
txtField.wordWrap = true;//wordWrap属性设置文本对象是否支持自动换行,默认为false,要使用自动换行,需要该属性的值设置为true;


var count:Number = 0;
addEventListener(Event.ENTER_FRAME,printText);
function printText(event:Event):void
{
count++;
txtField.text = myText.substring(0,count);
if (myText.length < count)
{
removeEventListener(Event.ENTER_FRAME,printText);
}

}

Ctrl+Enter导出效果:

Flash打字机

相关文章:

  • 2022-03-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-09
  • 2021-12-09
  • 2021-05-24
  • 2021-11-08
猜你喜欢
  • 2021-12-10
  • 2021-11-24
  • 2022-12-23
  • 2022-12-23
  • 2021-09-07
  • 2021-08-24
  • 2021-07-17
相关资源
相似解决方案