"TEXT"e verschwinden nach gewisser Zeit
Übersicht

Eyes_OnlyBetreff: "TEXT"e verschwinden nach gewisser Zeit |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo Community,
ich habe ein großes Problem. ![]() In meinem Spiel läuft eine for-each Type Abfrage die ganze Zeit durch und im Anschluss kommt eine Zeichenroutine, welche die Namen der Spielobjekte ausgibt: BlitzBasic: [AUSKLAPPEN] Repeat Mein Problem ist nun, dass wenn das Spiel 1:19min. im Leerlauf läuft, alles Texte nach Ablauf dieser Zeit verschwinden und das Spiel sich aufhängt. Wenn man Aktionen vornimmt und ein bisschen spielt, verschiebt sich dieser Zeitraum etwas nach hinten, tritt aber immer wieder auf. Hat jmd. eine Idee, woran das liegen könnte? ![]() |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meine Vermutung ist dass Du zuviele Objekte erstellst und irgendwann der Speicher voll ist.
Lässt sich anhand dieses Stückerls Code allerdings nicht verifizieren. |
||
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 |
Eyes_Only |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hm, eigentlich nicht, sind immer bloß 10 Objekte pro Level, aber ich hab's hier mal hochgeladen:
[erledigt] Zip-Datei mit Code & Bildern Danke |
||
- Zuletzt bearbeitet von Eyes_Only am Di, Jan 29, 2013 21:10, insgesamt einmal bearbeitet
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meine erste Vermutung hat sich beim durchstöbern deines Quelltextes direkt bestätigt: Du lädst Medien in der Hauptschleife ![]() ![]() mfG Holzchopf |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
Eyes_Only |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Oh Klasse, sehr cool, das war's. Tausend Dank Holzchopf!!! ![]() Dass ich die Dateien nicht in der Hauptschleife laden sollte muss ich mir unbedingt merken. ![]() |
||
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hoi,
wurde hier https://www.blitzforum.de/foru...highlight= bereits erwaehnt ![]() Punkt 5 bei konstruktiver Kritik. 10 Print "Ich darf keine boesen Fonts in der Mainloop laden"; 20 Goto 10 RUN ![]() PSY |
||
PSY LABS Games
Coders don't die, they just gosub without return |
Eyes_Only |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Oh man, ich bin ja doof...
Habe damals nach deiner konstruktiven Kritik den Font auch oben geladen. Dann habe ich aber den Coder geändert und einen zweiten font hinzugefügt und habe dann wieder alles verschoben, weiß der Geier warum... ![]() Aber danke! ![]() Dass ich nicht in der Mainloop laden soll, gilt das auch für Bilder und Sounds? |
||
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hoi,
klar, erst Recht fuer Bilder und Sounds. Die werden 1x geladen, danach sind sie im Speicher und koennen ueber ihr Handle angesprochen werden. PSY |
||
PSY LABS Games
Coders don't die, they just gosub without return |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es gibt mehrere gute Gründe, wieso man nur einmal lädt:
Das ist wohl so das wichtigste. mfG Holzchopf |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
Holzchopf hat Folgendes geschrieben: mit Ausnahme von Grafiken im Vollbildmodus gehen die auch nicht einfach so mal verloren
Verschwinden Grafiken im Vollbildmode ab und an? PSY |
||
PSY LABS Games
Coders don't die, they just gosub without return |
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, allerdings nur dann, wenn z.B. rausgetabbt wird, also nicht ganz von allein. Das liegt daran, dass im Vollbildmodus die Grafikkarte quasi alleine deinem Programm gehört, und beim Raustabben sie dann mit allen offenen Programmen geteilt wird (das ist auch der Grund, warum Spiele im Vollbildmodus viel schneller rennen, als im Fenstermodus). Bei dem Umschalten von "gehört nur mir" auf "gehört allen" wird dabei üblicherweise der Grafikspeicher geleert. Das heißt, dass du beim wieder reintabben entweder gar nix oder nutzloses Hintergrundrauschen (falsch interpretierte Überreste von anderen Programmen im Grafikspeicher) in den gespeicherten Grafiken hast. Ergebniss: dein Spiel schaut zum Kotzen aus.
Damit man nicht dauernd die Grafiken neu laden muss, hat BB die nette Funktion GraphicsLost. Gibt die eine 1 zurück, muss man alles neu laden. Was darum ganz gescheit ist, ist dass man alle Graphiken in einer Funktion lädt, die ein Mal am Anfang und immer dann, wenn GraphicsLost 1 zurück gibt, aufruft. BlitzBasic: [AUSKLAPPEN]
|
||
Gewinner der 6. und der 68. BlitzCodeCompo |
- Zuletzt bearbeitet von DAK am Do, Jan 31, 2013 13:18, insgesamt einmal bearbeitet
![]() |
ZEVS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: BlitzBasic: [AUSKLAPPEN]
Ist falsch. Ehe noch ein Thread zu diesem Thema aufgemacht wird, man muss GraphicsLost auch aufrufen und nicht nur den Funktionspointer überprüfen: BlitzBasic: [AUSKLAPPEN] If (GraphicsLost()) Then loadGraphics() ZEVS |
||
PacMani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Warum ist so etwas gruseliges wie Funktionsaufrufe ohne Klammernpaar in BB überhaupt möglich? In anderen Sprachen ist das der Einheitlich- und Lesbarkeit zu Recht ein widerlicher Syntaxfehler. | ||
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey,
achso, das wusste ich. Ich dachte es gibt da noch irgendwelche anderen Bugs. Bei Get The Gems (Blitz3D, benutzt aber nur 2D) mach ich das so: Drueckt der Spieler TAB, ALT oder ne Windowstaste, geht das Spiel automatisch in Pausenmodus und markiert den Imagebuffer als dirty: Code: [AUSKLAPPEN] If KeyHit(56) Or KeyHit(15) Or KeyHit(220) Or KeyHit(219) Then bufferdirty ImageBuffer(screengrab)
Wenn ich dann zuruecktabbe sind alle Grafiken ok (Ich zeichne nur Bewegungen im imagebuffer. Wenn ich ohne bufferdirty arbeite, sieht man quasi nur sich nicht bewegende Hintergrundgrafiken, der Rest ist weg). Falls aus irgendeinem Grund Windows den Focus auf das Game verliert, kann man den Buffer durch 2xESC (Pausenmodus und wieder zurueck) auch von Hand wieder fixen. Bin damit eigentlich ganz gut gefahren... PSY (edit) aber Graphicslost und neu laden test ich auch mal aus. Falls man naemlich waehrend einer Fadingroutine ins Game tabbed, funzt bufferdirty nicht, da man ins Faden bei 2D nicht eingreifen kann und somit kein Bufferdirty an der richtigen Stelle absetzen kann. Danke fuern Tip DAK! |
||
PSY LABS Games
Coders don't die, they just gosub without return |
![]() |
Jamagin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Am besten die Blitz3D IDE V1.85 und Linker V1.85 zurückupdaten! Bis zu dieser Version gibt es keine Probleme mit verschwindenden Grafiken falls man das Programm auf die Taskleiste legt! (Vollbildmodus)!
Ab Version 1.86 verschwinden die Grafiken im Vollbildmodus! lg. Jamagin |
||
Bevor du etwas neues beginnst, erledige das alte |
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was echt?
Muss ich mal austesten. Dafuer hab ich dann wahrscheinlich aber andere Probleme (die aber wohl nur 3D betreffen). Muss mich mal durch die ganzen Patchlogs lesen. Danke fuer den Tip! PSY |
||
PSY LABS Games
Coders don't die, they just gosub without return |
PacMani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das ist mir alles neu was du sagst, jamagin. | ||
BBPro2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
PacMani hat Folgendes geschrieben: Das ist mir alles neu was du sagst, jamagin.
same ich nehme an das war schlichtweg zufall bei jamagin (so wie es eh "zufall" ist ob die grafiken gelöscht werden) fakt ist: das problem kann auch bei älteren versionen auftreten - genauso wie es bei neueren nicht auftreten kann. hängt halt von anderen faktoren ab |
||
![]() |
Jamagin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Glaub ich nicht das das Zufall ist! Ich habe das auch nur von einem Programmiererfreund erfahren! Es ist tatsächlich so!
Versuch ein Vollbildmodus (Spiel) mit der letztgütligen IDE V1.06 glaub ich und LINKER, dann auf die Version V1.85 runtergestuft und den gleichen Test machen! Wenn das Zufall ist, dann wäre die ganze Spieleprogrammierung ein Zufall und die Frage lautet nur mehr: Geht es oder geht es doch nicht...! ha ha (ironisch) lg. Jamagin |
||
Bevor du etwas neues beginnst, erledige das alte |
Eyes_Only |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wir sind mittlerweile zwar etwas off-topic, aber das ist wohl kein Problem.
Ich bedanke mich ganz doll bei allen für ihr Feedback und die Hilfe! ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group