Flash:游戏中用图片显示数字的变化

时间:2008-03-14 14:35:10  来源:MyGameMyLove.com  作者:smallerbird  【背景色 杏仁黄 秋叶褐 胭脂红 芥末绿 天蓝 雪青 灰 银河白

在游戏中最常用的就是显示一些数字信息,得分呀,时间呀,为了美观,这些数字的显示样式要做成图片。以下是效果:

程序的原理的就是:在同一个地方不停显示数字,数字能过程序转换调用相对应库中的数字图片。

步骤如下:
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);


文章评论

共有 0位网翼网友发表了评论 查看完整内容