作者aquarianboy (我是没牌的营养师!)
看板Flash
标题Re: [问题] 计算游戏分数
时间Fri Apr 17 13:36:26 2009
※ 引述《cjcat2266 (CJ Cat)》之铭言:
: ※ 引述《icedesign (洒脱)》之铭言:
: : 最近在做游戏计分的时候,想到一个问题。
: : 假设这个分数栏有8位数。
: : [00000000]
: : 我原本是想用if去做[补零]的动作
: : 比如
: : [00000008]
: : 可是是否还有比用if更好的方法呢?
: totalScoreStr = "";
: for (var i:int = 0; i < 8 - score.toString().length; i++)
: totalScoreStr += "0";
: totalScoreStr += score.toString();
: 或者取对数,只是对score == 0不适用
: for (var i:int = 0; i < 8 - (Math.log(score) / Math.LN10 + 1); i++)
大家好像把故事复杂化了
试试这个
var score:String = new String("00000000" +800);
trace(score.substr(-8, 8));
原理就是反正不管怎麽样,就在分数旁边先补8个零(分数如果是负的不适用)
再从右边取8个位数就行了 :)
--
诚徵
PHP网站工程师,熟
MVC架构佳
http://blog.eddie.com.tw/
全职、兼职可,意者请敲 :)
http://www.eddie.com.tw/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.128.37
1F:推 cjcat2266:哈,没想到这招耶XD 04/17 13:40
2F:→ aquarianboy:这招让我想起以前学校的一些故事啊.. :) 04/17 13:41
3F:推 Angelliya:推这招 XD 04/17 14:10
4F:推 icedesign:哈~我原本想的跟cj差不多,原来酱子就好~XD!版主的故事 04/17 14:59
5F:→ icedesign:要不要分享一下~谢罗! 04/17 14:59
6F:→ etrexetrex:太强了 04/17 17:36
7F:推 pokey0000000:这招真的很威力 04/24 11:18