|
|
[サンプルコード]
赤から青へグラデーションしながら進捗状況を表示
BarColorプロパティを任意のパレットに設定し、ループ処理内のstepitメソッド実行前に
BarColorに設定したパレット色をsetPalleteメソッドにて各色とも
(開始色 - (開始色 - 終了色)×ループ変数÷ループ回数)
に設定し、処理状況の変化とともに徐々に色が変わっていく表示させています。
var st = new Array();
var ed = new Array();
st["r"] = 255;
st["g"] = 0;
st["b"] = 0;
ed["r"] = 0;
ed["g"] = 0;
ed["b"] = 255;
var pb = ProgressBar.create();
var COUNT = 16000; /* 処理回数 */
pb.width = 200;
pb.height = 32;
pb.step = COUNT;
pb.barStyle = $SMOOTH;
pb.title = "処理中";
pb.barcolor = 105;
pb.popup();
for (var i = 0; i < COUNT; i++ ) {
/* ここに処理を記述 */
/* タイトルに「 xx%」と表示 */
pb.title = "処理中 " + str(int((i / (pb.step - 1)) * 100)) + "%";
/* バーの色を青から赤へ(0,0,255 から 255,0,0 へ) */
SetPalette(pb.barcolor - 1
,int(st["r"] - ((st["r"] - ed["r"]) * i) / (pb.step - 1))
,int(st["g"] - ((st["g"] - ed["g"]) * i) / (pb.step - 1))
,int(st["b"] - ((st["b"] - ed["b"]) * i) / (pb.step - 1)));
pb.stepit();
}
|
|