プログレスバーの2つの片方の速度を変える
koya 2013/8/2(Fri) 19:27:36|NO.56061
下のスクリプトのプログレスバーAとBのスピードをそれぞれ変える方法がわかりません。
知っている方がいたら教えてください。
bax=200.0
bay=18.0
p=0.0 ;
b=0.0
a=0.0
fol= dir_exe+"\\hsptv\\"
buffer 1:color 0,0,255:boxf:gsel 0 ;バーの色設定
buffer 2:color 255,0,0:boxf:gsel 0 ;バーの色設定
celload fol+"sozai6.jpg" ,3
*main
p=p+0.2
b=b+0.2
redraw 0
color 255,255,255:boxf
pos 0,0
celput 3
pos 0,10:gosub *probar
pos 0,100:gosub *pb
redraw 1
await 16
goto *main
*probar
if p>100.0:p=100.0 //Aのバーを作る
gcopy 1,,,(bax/100)*p,bay
if (p=100.0){
mes "A完了しました"
}else{
mes ""+int(p)+"%"
}
return
*pb
if (a=0):if b>100.0:b=70.0:a+1
gcopy 2,,,(bax/100)*b,bay
if (a=1):if b>100.0:b=90.0:a+1
gcopy 2,,,(bax/100)*b,bay
if (a=2):if b>100.0:b=80.0:a+1
gcopy 2,,,(bax/100)*b,bay
if (a=3):if b>100.0:b=80.0:a+1
gcopy 2,,,(bax/100)*b,bay
if (a=4):if b>100.0:b=40.0:a+1
gcopy 2,,,(bax/100)*b,bay
if (a=5):if b>100.0:b=100.0
gcopy 2,,,(bax/100)*b,bay
if (b=100.0){
mes "B完了しました"
}else{
mes ""+int(b)+"%"
}
return
※プログレスバーの位置をもどしているのにはちゃんと理由があります。
nanasi 2013/8/2(Fri) 19:45:49|NO.56062
変数 p と b がそれぞれ100になると「完了しました」と表示されますよね。
そんなに難しくないのでスクリプトをまた見なおしてみてください
暇人 2013/8/2(Fri) 19:56:01|NO.56065
>p=p+0.2
>b=b+0.2
これがバーの進む速度になってるんだから
AB同じ増加量なら速度が同じなのは当然じゃ?
普通プログレスバーは達成率などをバーに反映する
bax=200.0
bay=18.0
a=0
b=0
a_max=1000
b_max=2000
buffer 1:color 0,0,255:boxf:gsel 0 ;バーの色設定
buffer 2:color 255,0,0:boxf:gsel 0 ;バーの色設定
*main
if a<a_max{a++}
if b<b_max{b++}
redraw 0
color 255,255,255:boxf
pos 0,10:gosub *probar
pos 0,100:gosub *pb
redraw 1
await 16
goto *main
*probar
gcopy 1,,,(bax/a_max)*a,bay
if (a=a_max){
mes "A完了しました"
}else{
mes ""+int(100.0*a/a_max)+"%"
}
return
*pb
gcopy 2,,,(bax/b_max)*b,bay
if (b=b_max){
mes "B完了しました"
}else{
mes ""+int(100.0*b/b_max)+"%"
}
return
KA 2013/8/2(Fri) 20:41:38|NO.56069
>>※プログレスバーの位置をもどしているのにはちゃんと理由があります。
ここは「クイズ」を解く所では無いですよ。
ついでに今回のように、質問を分離して削除するようなやり方は、やめた方が無難です。
koya 2013/8/5(Mon) 07:43:24|NO.56153
すいませんでした。
>>※プログレスバーの位置をもどしているのにはちゃんと理由があります。
とは、クイズではないんです。