Ladebalken
Übersicht

BlitzBasic303Betreff: Ladebalken |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Wenn ich mit Blitz z.b. ein Lied lade,stoppt das Programm und macht erst weiter wenn das Lied fertig geladen wurde. Wenn ich aber mit einem Ladebalken die zeit überbrücken will, und ich nur das große lied laden muss, bringt mir der Balken nichts,weil ich ja nur nach oder vor dem Ladevorgang etwas einzeichnen kann. Ich dachte mir aber, man könne über die hardware (mithilfe von dll) im hintergrund den balken laufen lassen. Geht das? Mfg BlitzBasic303 |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gegenfrage:
Muss das Lied denn exakt in dem Moment geladen werden? Warum kombinierst Du nicht alle Ladevorgänge für das Spiel (oder alternativ alle des Levels, je nach Programm). Dann ist der Ladebalken wieder berechtigt, da er bei jeder Datei weiterspringt. Seh es einfach als Denkanstoss - es ist meist sehr ungünstig während des Programms Dateien nachzuladen. |
||
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 |
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, ich mache es meistens entweder so, dass der Ladebalken Nach jeder Datei weitergeht, oder dass einfach nur angezeigt wird:
Code: [AUSKLAPPEN] Lade Sounds... Lade Models... Lade Grafiken... Lese Konfig-Datei... MfG Blitzcoder |
||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
flashmaxel |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
Also was du dazu bräuchtest wäre Mulitasking. In BB alleine geht das soweit ich weiß nicht. Wennschon müsstest du eine Dll einbinden, dann im BB-Progg die Dll Funktion aufrufen. Diese Funktion müsste dann einen neuen Task(Thread) erstellen und damit müsste die DLL Funktion die du aus Blitz aufgerufen hast fertig sein! (nur noch der andere Task läuft, der dann für den ladebalken sorgt) Damit fährt Blitz dann fort im Hauptprogg fort, wo du dann den Sound laden kannst. Dann müsstest du es irgendwie hinbekommen einen grafischen Ladebalken aus der Dll zu erstellen (frag mich nicht wie...) und gleichzeitig die loadsound Funktion abfragen wie weit sie ist (nicht möglich). Alles in allem hab ich keine Ahnung wie man das machen sollte aber wenn du dich für multitasking interessierst: http://www.codeworx.org/cpp_tuts_1_5.php - ich hab damit noch nie gearbeitet deswegen weiß ich nicht wirklich ob das, so wie ich oben schrieb funktioniert. Ich würde sagen : Lass die Idee fallen und machs wie BladeRunner oder Blitzcoder, ... Max ![]() |
||
Real C programmers never die; they cast to void. |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
1. Heisst das Multi Threading, nicht Multi Tasking. Multi Tasking unterstützt seit Win95 jedes Programm.
2. Das laden einer Datei aus einer DLL geht nur bedingt. Da du danach die Bytedaten aus einer Bank dann in Blitz laden musst, was leider nur für die wenigsten Datentypen geht. Und ich denke nicht, das es irgend ein Lied gibt das gross genug ist um das Programm lange genug zu freezen während es geladen wird (mehr als 10-20mb ist sowieso zuviel) so das das mit dem Ladebalken normalerweise kein Problem sein wird ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jop, es stellt sich noch die Frage was für Datenmengen Du in den Speicher schaufeln willst. Wenn Du wirklich riesige Soundfiles hast tippe ich drauf das Du .wav nutzt, und da sollte Dir mit .ogg oder .mp3 schon geholfen sein.
Du könntest, wenn Du unbedingt runtime was laden willst, auch einfach den Mousecursor durch ne Sanduhr ersetzen oder "loading" auf den Screen pasten. Das ist mittlerweile so akzeptiert das wohl kein user nicht versteht was los ist. |
||
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 |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es ist glaub ich ziemlich egal, ob das eine Mp3 oder eine Ogg-Datei ist (hab's fix mit Mp3 getestet). Blitz dekomprimiert es im Hauptspeicher. Verhält sich quasi wie mit Bildern. Wenn mein Programm eine 6 MB große Mp3 Datei lädt braucht es plötzlich 50 MB mehr Arbeitsspeicher.
Aber Musik lädt man sowieso nicht in den Hauptspeicher. Die streamt man mithilfe von ql:LoadMusic. |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
BlitzBasic303Betreff: RE: |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok, dann schlag ich mir das mal aus dem Kopf. Habe gedacht man könne irgendwie direkt auf den grafikspeicher zugreifen und direkt darauf zeichnen. Dann lös ich das jetzt mit einem schönen Bild am Anfang und dann reicht das auch.
Trotzdem Danke! Mfg BlitzBasic303 |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group