在游戏中最常用的就是显示一些数字信息,得分呀,时间呀,为了美观,这些数字的显示样式要做成图片。以下是效果:
程序的原理的就是:在同一个地方不停显示数字,数字能过程序转换调用相对应库中的数字图片。
步骤如下:
1.新建一个fla
2.做10个电影符号,内容就是放如要定义的0~9的数字的图片。它们的标识符分别为:t1_0,t1_1,t1_2....(0~9)
3.然后在第一帧粘上以下代码:
var objShowNumber:Object = new Object();
//库连接符前缀
objShowNumber.strLink = "t1_";
//几位数
objShowNumber.numWei = 10;
//间距
objShowNumber.numJJ = 5;
//父Mc
var mcShowNumber:MovieClip=_root.createEmptyMovieClip("mcShowNumber", _root.getNextHighestDepth());
objShowNumber.root = mcShowNumber
//显示一个数
//格式 var arrNum:Array = ["1", "2", "3", "4"];
objShowNumber.showNumber = function(numA:Number) {
var arrNum:Array = String(numA).split("");
if (arrNum.length<=this.numWei) {
//位数不够用0填充
if (arrNum.length var numTem:Number = this.numWei-arrNum.length;
for (var i = 1; i<=numTem; i++) {
arrNum.unshift("0");
}
}
} else {
//假如超过指定的位数,所有的位数为
var arrNum:Array = new Array();
for (var i:Number = 0; i arrNum.push("0");
}
}
//
for (var i:Number = 0; i var numX:Number;
if (i>0) {
numX = this.root["mcNum"+(i-1)]._width+this.root["mcNum"+(i-1)]._x+this.numJJ;
} else {
numX = 0;
}
//删除以前的
if (this.root["mcNum"+i] != undefined) {
this.root["mcNum"+i].removeMovieClip();
}
//
this.root.attachMovie(this.strLink+arrNum[i], "mcNum"+i, this.root.getNextHighestDepth(),
{_x:numX});
}
};
/*
例子
游戏中用图片显示数字的变化
自娱自乐
flash原创教程
www.MyGameMyLove.com
源代码下载:http://www.mygamemylove.com/132.html
2007-1-11 smallerbird mygamemylove@qq.com
--------------------------------------*/
var numI:Number = 0;
function showNumber() {
//改变数字
objShowNumber.showNumber(numI++);
//居中
if(numI==1){
mcShowNumber._x=(Stage.width-mcShowNumber._width)/2
}
}
setInterval(showNumber, 1);