我也不知道我能做出什么效果来,我只是模仿那个效果,根据我的知识和理解进行测试Flash,我现在的猜想是直接创建TextField在舞台显示:
import flash.text.TextField;
var text1:TextField=new TextField();//创建一个text1文本的实例
text1.textColor=0x00FF00;//设置文本的颜色
text1.text="1";//设置文本的内容
text1.x=100;//设置文本的舞台X坐标
text1.y=100;//设置文本的舞台Y坐标
text1.alpha=Math.random();//设置文本的透明度,用Math.random()随机读取0~1
addChild(text1);//添加到显示列表
好的,看到效果后,就想我们只能显示一个数字,怎么能做成很多数字流动的效果呢?我们复制那个代码,把text1改为text2,就是多创建一个text2的实例,并把(x,y)坐标改成(200,200),测试一看,我们看到两个1,代码如下:
import flash.text.TextField;
var text1:TextField=new TextField();//创建一个text1文本的实例
text1.textColor=0x00FF00;//设置文本的颜色
text1.text="1";//设置文本的内容
text1.x=100;//设置文本的舞台X坐标
text1.y=100;//设置文本的舞台Y坐标
text1.alpha=Math.random();//设置文本的透明度,用Math.random()随机读取0~1
addChild(text1);//添加到显示列表
var text2:TextField=new TextField();//创建一个text1文本的实例
text2.textColor=0x00FF00;//设置文本的颜色
text2.text="1";//设置文本的内容
text2.x=200;//设置文本的舞台X坐标
text2.y=200;//设置文本的舞台Y坐标
text2.alpha=Math.random();//设置文本的透明度,用Math.random()随机读取0~1
addChild(text2);//添加到显示列表
通过这个小测试,我就想能实现那个流体数字的效果,只要随机获取文本在舞台创建实例并显示,那样应该能实现类似效果,最后测试发现我想定义好多TextField+i实例都实现不了,所以郁闷,不会了:
import flash.text.TextField;
import flash.events.Event;
import flash.utils.Timer;
import flash.events.TimerEvent;
var textarray:Array=["0","1","2","3","4","5","6","7","8","9"];//创建一个0~9的数据组
var numtimer:Timer=new Timer(500);
function liuti(e:Event):void{
var textnum:TextField=new TextField();//创建一个文本的实例
textnum.textColor=0x00FF00;//设置文本的颜色
for(var j:int=0;j<550;j=j+50)//创建布满横坐标
{
for(var i:int=0;i<400;i=i+40)//循环布满纵坐标
{
textnum.text=textarray[Math.ceil(Math.random()*10)];//设置文本的内容
textnum.x=j;//设置文本的舞台X坐标
textnum.y=i;//设置文本的舞台Y坐标
textnum.alpha=Math.random();//设置文本的透明度,用Math.random()随机读取0~1
addChild(textnum);//添加到显示列表
}
}
}
numtimer.addEventListener(TimerEvent.TIMER,liuti);
numtimer.start();