对AS有一些了解的朋友都应该知道如何用脚本来实现打字效果吧,其实这个效果不难,关键就是关于字符串函数的一些运用,我这里说的是在实现了打字效果以后,对用脚本产生的文本中的文字颜色、边框颜色以及背景颜色所做的一些控制,其实原理不难,关键是这种解决思路,能够举一反三是最重要的。
点这里下载演示效果文件
下面简要说一下思路:
其实主要都是用脚本来实现的,新建文件以后,从库中拖四个按钮到主场景中,将实例名分别命名为but1 but2 but3 和but4,然后延长到第三桢。再新建一图层,插入两个关键桢,在第一桢上写:
fscommand("allowscale","false"); _root.onLoad = function() { //在AS2.0中使用变量之前要先定义 _root.createTextField("wenzi", 1, 100, 100, 200, 270); _root.wenzi.border = true;//为创建的文本设置边框 i = 1;//初始化变量 } 在第二桢上写:
a= "北风卷地白草折,胡天八月即飞雪。\r\n忽如一夜春风来,千树万树梨花开。\r\n散入珠帘湿罗幕,狐裘不暖锦衾薄。\r\n将军角弓不得控,都护铁衣冷难着。\r\n瀚海阑干百丈冰,愁云惨淡万里凝。\r\n中军置酒饮归客,胡琴琵琶与羌笛。\r\n纷纷暮雪下辕门,风掣红旗冻不翻。\r\n轮台东门送君去,去时雪满天山路。\r\n山回路转不见君,雪上空留马行处。"; //上面是将要用打字效果实现的文字附给一字符串变量,也就是将这些文字看做字符串 len = a.length; //取得字符串的长度 if (i<=len) { //在字符串的字数范围内执行以下语句 _root.wenzi.text = a.substr(0, i); //逐步截取字符从而实现打字效果 } _root.but1.onPress = function(){ //当按钮but1按下的时候 _root.wenzi.textColor = random(0xffffff); //设置文本框中的文字颜色是随机变化的 } _root.but2.onPress = function(){ //当按钮but2按下的时候 _root.wenzi.background = true; //设置文本的背景为真 _root.wenzi.backgroundColor = random(0xffffff); //设置文本的背景是随机颜色 } _root.but3.onPress = function(){//当按钮but3按下的时候 _root.wenzi.borderColor = random(0xffffff); //将边框颜色设置为随机变化重置为黑色 } _root.but4.onPress = function(){//当按钮but4按下的时候 _root.wenzi.borderColor = 0x000000; _root.wenzi.textColor = 0x000000; //将边框和文字的颜色都重置为黑色 _root.wenzi.backgroundColor = 0x999999; //将背景颜色设置为刚开始的颜色 } 在第三桢写:
i=i+1;//变量自加以后,然后再从第一桢开始播放 最后,测试结果。
其实过程很好理解,关键是解决问题的思路,大家如果考虑一下用TextField.setTextFormat() 这个方法能不能达到同样的效果,
大家可以试一下就知道了 呵呵 ^_^
点这里下载源文件 |