| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- cc.Class({
- extends: cc.Component,
- properties: {
- },
- Test:function(aNum)
- {
- this.schedule(function () {
- this.ShowNum(aNum)
- aNum+=50;
- },1,5,0);
- },
- start () {
- let NumNode = this.node.getChildByName('Num');
- //获取所有位数节点数组
- this.NumArray = NumNode.children;
- //当前位上的数值
- this.CurrentNumArray = [];
- this.MaxNum = 0;
- //获取最大值
- for(let i=0;i<this.NumArray.length;i++)
- {
- // cc.log('this.NumArray='+parseInt(this.NumArray[i].name)*9);
- this.CurrentNumArray.push(parseInt(this.NumArray[i].name));
- this.MaxNum += parseInt(this.NumArray[i].name)*9;
- }
- // cc.log('this.MaxNum ='+this.MaxNum );
- this.HideAllNum();
- this.Test(0);
- },
- ShowNum:function(Num)
- {
- // 超过最大值返回
- let NumString = Num.toString();
- var Numlen=NumString.length;
- if(Num> this.MaxNum) return;
- // this.HideAllNum();
- // for(let i=0;i<this.NumArray.length;i++)
- // {
- // let CurrentNum = this.CurrentNumArray[i];
- // let NumNode = this.NumArray[i];
- //
- // if(i<this.NumArray.length-Numlen)
- // {
- // CurrentNum = 0;
- // NumNode.active = false;
- // }
- // else
- // {
- // let DigitNum = NumString.substring(Numlen-this.NumArray.length-i-1,Numlen-this.NumArray.length-i);
- // CurrentNum = parseInt()
- // NumNode.active = true;
- // this.ConvertNumToTexture(CurrentNum,Num,NumNode);
- // }
- // }
- for(let i=0;i<Numlen;i++)
- {
- let CurrentNum = this.CurrentNumArray[Numlen-i];
- let DigitNum = NumString.substring(this.NumArray.length-i-1,this.NumArray.length-i);
- cc.log('x='+(this.NumArray.length-i-1)+';y='+(this.NumArray.length-i));
- // let NumNode = this.NumArray[Numlen-i];
- // NumNode.active = true;
- // this.ConvertNumToTexture(CurrentNum,DigitNum,NumNode);
- }
- // switch (Numlen) {
- // case 1:
- // this.Hundred.active = true;
- // this.Hundred.getComponent('ConvertNumToTexture').ConvertNumToTexture(num);
- // break;
- // case 2:
- // this.Hundred.active = true;
- // this.Tens.active = true;
- //
- // var TensNum=parseInt((num%100)/10);
- // var SingleNum=parseInt(num%10);
- //
- // this.Hundred.getComponent('ConvertNumToTexture').ConvertNumToTexture(TensNum);
- // this.Tens.getComponent('ConvertNumToTexture').ConvertNumToTexture(SingleNum);
- //
- // break;
- // case 3:
- // this.Hundred.active = true;
- // this.Tens.active = true;
- // this.Single.active = true;
- //
- // var HundredNum = parseInt(num/100);
- // var TensNum=parseInt((num%100)/10);
- // var SingleNum=parseInt(num%10);
- //
- // this.Hundred.getComponent('ConvertNumToTexture').ConvertNumToTexture(TensNum);
- // this.Tens.getComponent('ConvertNumToTexture').ConvertNumToTexture(TensNum);
- // this.Single.getComponent('ConvertNumToTexture').ConvertNumToTexture(SingleNum);
- //
- // break;
- // default:
- // }
- },
- HideAllNum:function(num)
- {
- for(let i=0;i<this.NumArray.length;i++)
- {
- let NumNode = this.NumArray[i];
- NumNode.active = false;
- }
- },
- ConvertNumToTexture:function(CurrentNum,Num,NumNode)
- {
- NumNode.setPosition(NumNode.position.x-(Num-this.CurrentNum)*41,NumNode.position.y);
- var aSprite = NumNode.getComponent(cc.Sprite);
- var FillStart = aSprite.fillStart = Num/10;
- this.CurrentNum = Num;
- }
- });
|