作者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
推 cjcat2266:哈,沒想到這招耶XD 04/17 13:40
→ aquarianboy:這招讓我想起以前學校的一些故事啊.. :) 04/17 13:41
推 Angelliya:推這招 XD 04/17 14:10
推 icedesign:哈~我原本想的跟cj差不多,原來醬子就好~XD!版主的故事 04/17 14:59
→ icedesign:要不要分享一下~謝囉! 04/17 14:59
→ etrexetrex:太強了 04/17 17:36
推 pokey0000000:這招真的很威力 04/24 11:18