Ladebalken will net :(
Übersicht

![]() |
Lord_VaderBetreff: Ladebalken will net :( |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi also will nen ladebalken machen. Hier ist maxcount das was insgesamt geladen wird und current halt da wo man is, zB beim 7ten von 100!
Ich seh den als erstes gemalten RECT nicht! Woran liegt daS?? Code: [AUSKLAPPEN] howfar=Int((current/maxcount)*100) startx=GraphicsWidth()/4 endx=GraphicsWidth()-startx starty=GraphicsHeight()/2 Color 0,128,256 Rect startx,starty,howfar,64,1 Color 0,64,256 Rect startx,starty,endx,64,0 MfG Lord_Vader |
||
Apocalyptic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So wie ich das sehe (beim Überfliegen), musst du entweder current als Float deklarieren, oder du schreibst das hier:Code: [AUSKLAPPEN] howfar=Int((float(current)/maxcount)*100)
Achso, der Rahmen dürfte so nicht stimmen, oder? Setz endx auf die feste Größe, die du oben verwendest (also 100). |
||
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
genau das wars glaub ich auch. Da Lord_Vader nicht wusste warum, gebe ich mal ne kurze Erklärung für alle.
Integer - Division: Werden bei einer Division nur Ganzzahlen angegeben, wird kommt es zu Integer-Division. Das bedeutet, das eine ganze Zahl als Ergebnis geliefert wird. Beispiel: Code: [AUSKLAPPEN] Global a%=5, b%=2, ergeb#=0 ergeb# = a / b In diesem Fall ist ergeb# = 2.0. Was kann man dagegen machen? Einfach entweder a oder b also Float deklarieren (#) oder folgenden Trick: Code: [AUSKLAPPEN] Globl a%=5, b%=2, ergeb#=0 ergeb# = Float(a) / b ergeb# hat nun den Wert 2.5. Man muss also dafür sorgen, dass entweder Divisor oder Dividend ein Float ist. Dass muss man auch bei Formeln mit zum Beispiel 1/3*g*h beachten: Code: [AUSKLAPPEN] vol = 1/3.0 * g * h Noch Fragen? MfG |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] howfar=Int((current/maxcount)*100)
Das ist maximal 100 pixel breit, unabhängig von der mit Startx und endx ermittelten "Ladebalkenbreite". Verschiebe die Zeile nach die Ermittlung von Startx und endx und ändre sie zu: Code: [AUSKLAPPEN] howfar=Int((current/maxcount)*(endx-startx))
Dann passt sich das Ganze der Auflösung an. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Lord_Vader |
![]() Antworten mit Zitat ![]() |
---|---|---|
Thx. Lag nur an den integern.. Das mit der breite hab ich wie folgt gelöst:
Code: [AUSKLAPPEN] startx=GraphicsWidth()/4 endx=GraphicsWidth()-2*startx starty=GraphicsHeight()/2 howfar=(current*1.0/maxcount*1.0)*GraphicsWidth()-(2*startx)*1.0 Text GraphicsWidth()/2,GraphicsHeight()/3,"Lädt...",1,1 Color 0,63,127 Rect startx-2,starty-2,endx+4,64+4,1 Color 0,127,255 Rect startx,starty,howfar,64,1 Thx nochm0rl[/code] |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group