flas易做图滚动效果
//显示数字
//要定义的对象名,电影实例,数字长度,递加的步长,起始分数
function ini_objShowNum(objShowNum:Object, mcTarget:MovieClip, numLen:Number, numStep:Number, numStar:Number) {
//目标电影实例
objShowNum.mcTarget = _root;
//最终结果
objShowNum.numEnd = 0;
//当前数字变化显示的分数
objShowNum.num = 0;
//递增的步数
objShowNum.numStep = 1;
//是否开始变化
objShowNum.isGo = false;
//显示数字的长度
objShowNum.numLen = 0;
//初使化
objShowNum.ini = function(mcTarget:MovieClip, numStep:Number, numStar:Number, numLen:Number) {
this.mcTarget = mcTarget;
this.numStep = numStep;
this.num = numStar;
this.numStar = numStar;
this.numLen = numLen;
this.mcShowNum();
};
//增加分数
objShowNum.addNum = function(num:Number) {
this.isGo = true;
this.numEnd += num;
};
//放在循环的onEnterFrame中。用于递增显示的效果
objShowNum.go = function() {
if (!this.isGo) {
return 0;
}
if (this.num+this.numStep>=this.numEnd) {
this.num = this.numEnd;
this.isGo = false;
} else {
this.num += this.numStep;
}
this.mcShowNum();
};
//显示一组数字
objShowNum.mcShowNum = function() {
var mc:MovieClip = this.mcTarget;
var num:Number = this.num;
var _l5:Number = this.numLen;
var strNum = String(num);
var str = "";
for (var i = 1; i<=(_l5-strNum.length); i++) {
str += "0";
}
strNum = str+strNum;
// end if
var numI:Number = 0;
while (numI<_l5) {
var numTem:Number = Number(strNum.substr(numI, 1));
if (numTem == 0) {
mc["mc"+(numI+1)].gotoAndStop(10);
} else {
mc["mc"+(numI+1)].gotoAndStop(numTem);
}
// end if
numI++;
}
// end while
};
//执行初使化
objShowNum.ini(mcTarget, numStep, numStar, numLen);
}
////////////////
//游戏得分显示递增的效果
//smallerbird 2008-9-4
//flash原创教程 尽在自娱自乐 www.mygamemylove.com
//原代码下载地址:http://www.mygamemylove.com/t_html/620.html
//操作步骤
//1.要一个电影实例:条件:里面有代表每一位数字的元件(这个元件里有10帧,分别入以下数字1,2,3,4,5,6,7,8,9,0)。
//要显示几位就放几个,排列好。命名为:mc1,mc2,mc3...;例如:要三位数:好就要用三个mc1,mc2,mc3(mc1表示百位,mc2表示十位,mc3表示个位)
//2.初使化:
var objShowNum_1:Object = new Object();
var mcNum:MovieClip;
ini_objShowNum(objShowNum_1, mcNum, 9, 1, 0);
//3.检测函数,为什么不放在mcNum的onEnterFrame,我觉得所有的循环放在一个地方比较好管理。
_root.onEnterFrame = function() {
objShowNum_1.go();
};
//当前的步长
var mcBtn1:MovieClip;
txt1.text = objShowNum_1.numStep;
mcBtn1.onRelease = function() {
//步和不能大于要加的数
if (_root.objShowNum_1.numStep+1<_root.objShowNum_1.numEnd) {
_root.objShowNum_1.numStep++;
}
_root.txt1.text = _root.objShowNum_1.numStep;
};
var mcBtn3:MovieClip;
mcBtn3.onRelease = function() {
////步和不能小于0
if ((_root.objShowNum_1.numStep-1)>0) {
_root.objShowNum_1.numStep--;
}
_root.txt1.text = _root.objShowNum_1.numStep;
};
//游戏得分显示递增的效果
//smallerbird 2008-9-4
//flash原创教程 尽在自娱自乐 www.mygamemylove.com
//原代码下载地址:http://www.mygamemylove.com/t_html/620.html
//结果数
var mcBtn2:MovieClip;
txt2.text = "0";
mcBtn2.onRelease = function() {
_root.objShowNum_1.addNum(10);
_root.txt2.text = _root.objShowNum_1.numEnd;
};
var mcBtn4:MovieClip;
mcBtn4.onRelease = function() {
//增加
_root.objShowNum_1.addNum(100);
_root.txt2.text = _root.objShowNum_1.numEnd;
};
补充:flash教程,动画技术