Wie man Sounds NICHT laden sollte^^

Übersicht Sonstiges Smalltalk

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

buja

Betreff: Wie man Sounds NICHT laden sollte^^

BeitragSo, Apr 13, 2008 18:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist mein erster Post.
Ich kann mich ja kurz vorstellen^^

Also ich bin 14, habe seit paar wochen mit blitz3d angefangen,
und arbeite im moment an einem Pong-Klon, den man im Netzwerk
spielen werden kann.

Nun zum Thema:

Ich war heute so klug, meine Menü-Musik wie folgt zu laden:

Code: [AUSKLAPPEN]

While Not KeyDown (1)   
   
   ;Hintergrundbild laden
         hintergrund = LoadImage ("title_background.jpg")
         TileImage (hintergrund,0,0)
         
   
   ;TEXTE LADEN UND ANZEIGEN
      fontvariable = LoadFont("Porscha.ttf",32,False,False,False) ; Font laden
      SetFont fontvariable ; Font setzen
      
      
      Text 512,80,"HAUPTMENÜ",True,False
      Text 512,120,"H = Spiel Hosten",True,False
      Text 512,160,"J = Spiel Beitreten",True,False
      Text 512,200,"A = Hilfe Anzeigen",True,False
      Text 512,240,"Esc = Beenden",True,False
   
    ;SOUND LADEN
   menusound = LoadSound ("Musik\intro.mp3")
   
   LoopSound menusound
   PlaySound menusound

  Wend



Erstmal natürlich sehr klug den Sound aus der Schleife heraus zu laden -.-
und dann nichtmal den Fehler gemerkt, sondern erstmal versucht den Sound zu
manipulieren.

Beim 2ten Versuch ist schließlich mein Dual-Core Rechner abgekackt und alle Fortschritte bis
dahin waren weg.

ISt nicht so tragisch^^ aber wer das gelesen hat macht hoffentlich nicht so einen dummen Fehler Very Happy

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Apr 13, 2008 18:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Laderoutinen gehören grundsätzlich nicht in eine Schleife immer wieder ausgeführt.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

D2006

Administrator

BeitragSo, Apr 13, 2008 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Quellcode wird beim kompilieren immer abgespeichert. Solltest du vorher noch gar nicht gespeichert haben, dann wird's im tmp Verzeichnis gespeichert. (also zB "../BlitzPlus/tmp/tmp.bb").
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

Triton

BeitragMo, Apr 14, 2008 1:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmja, faszinierend.

Leider sind die Fehler, die einen viel mehr ärgern, immer solche, die man nicht auf den ersten Blick sieht.
Ich spreche von den Fehlern, die einem tage und wochenlang nicht ruhig schlafen lassen, weil man sie nicht finden und beseitigen kann Twisted Evil Smile


user posted image


Da sich die programmiererische Relevanz wohl in grenzen hält, verschiebe ich das mal nach Offtopic.

Wer will, kann daraus ja einen "postet euren blödesten/verbuggtesten Code"-Thread machen Wink
Coding: silizium-net.de | Portfolio: Triton.ch.vu
  • Zuletzt bearbeitet von Triton am Do, Apr 17, 2008 21:25, insgesamt einmal bearbeitet

Tankbuster

BeitragMo, Apr 14, 2008 12:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Grade beim Blitz-Code-Wettbewerb:

Ich habe fast alles fertig, aber die KI hat nicht das gemacht was sie soll x)
Das ganze Lag daran, dass ich in einem Array ausversehen sowas gemacht hab:

For i=1 to 10
Variable(1)=1
Next

Natürlich sollte die 1 zu einem i werden x)
Und an so einem Fehler sucht man schon bei 10KB stundenlang, weil das fast garnicht auffällt >,<
Twitter
Download Jewel Snake!
Windows|Android
 

FWeinb

ehemals "ich"

BeitragMo, Apr 14, 2008 12:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Noch schöner sind in sich Verschachtelte For ... Next schleifen mit den Selben Variablen ^^ dauert auch seine zeit bis man das bemerkt.
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs

BtbN

BeitragMo, Apr 14, 2008 13:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Der nervigste Fehler mit dem ich letze Zeit zu kämpfen hatte war, dass ich fast eine Woche gebraucht habe, um zu begreifen, dass man für jeden Thread in einem Server eine eigene MySQL-Verbindung auf machen muss, und nicht für das ganze Programm die selbe benutzen kann.
Das nervige dabei war, das Programm fror einfach ein, und der Debugger zeigt an addresse 0.
Nach einer woche stieß ich dann in der Dokumentation von QtSql darauf, dass man eine eigene Instanz für jeden Thread braucht...

Smily

BeitragMo, Apr 14, 2008 13:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man sich ein die eine oder andere Grundregelhält trifft man eigentlich fast nie auf fehler, die einen länger als 5 minuten beschäftigen.

Wichtig, vorneweg: ERST denken, DANN coden. Wenn ich ein Projekt anfange habe ich meit im Kopf immer schon eine ganz grobe planung für das komplette Programm. Dabei fallen einen potentielle Fehler schon auf, bevor man die erste Zeile schreibt. Ausserdem kommt nicht irgendwann das böse erwachen, dass man irgendwo einen Grundlegenden Fehler gemacht hat, mit dem man alles zwichendrin über den haufen werfen und nochmal neu Anfangen muss. Damit meine ich weniger Syntaktische fehler, sondern es geht eher um das Programmdesign.
Bei sehr großen Projekten vlt den einen oder anderen Stichpunkt im vornerein niederschreiben.
(evtl Programmablaupläne oder Struktogramme erstellen. Ich persönlich brauchte die zwar noch nie, aber es wird trotzdem immer wieder empfohlen)

1. Den Code immer nur um Minimale Schritte erweitern und ausführen. NICHT mit einem mal riesige Programmteile schreiben, ohne sie einmal irgendwann zu testen. Wenn ein Fehler auftritt, weis man meist relativ schnell, WO es knallt.

2. Eine gute Fehler-Eingrenz-Taktik angewöhnen.
Viele Debugausgaben einfügen. Variablen überprüfen, eventuell absichern, dass keine Variablenüberschneidung auftritt. Auf Fehlermeldungen vom Debugger achten (Hier gabs schon oft genug leute, die die Fehlermeldung blind weggeklickt haben und sich dann mit "geht nicht" hier ausgeheult haben)

Wenn alles nichts hilft eine komplette kopie vom Projekt machen, und alles löschen, was nicht unmittelbar mit dem Fehler zusammenhängt. Eventuelle von vorherigen Abläufen abhängige Variablen direkt mit testwerten intialisieren. Zwichen jedem kleinen "Löschschritt" den code testen Exclamation (und darrauf achten, dass kein zweiter fehler durch das umschreiben auftritt). Sobald der Fehler weg ist, wisst ihr woran es gelegen hat Wink

Und zu guter letzt: Natürlich nicht im Blauen Stochern.. bei mehreren 1000 Zeilen code liegt die Aussicht auf erfolg recht gering.. Intelligent eingrenzen, wo der fehler überhaupt sein kann!

ein kleiner tipp für die Debugausgaben:
Code: [AUSKLAPPEN]

const printdebug = 1
Function debug(text$)
if printdebug Print "Debug: " + text$
end Function


vor dem Kompilieren und ausliefern dann einfach das Printdebug auf 0 setzen. Wenn man weiterarbeitet und ein fehler tritt auf, kann man die debugausgabe so einfach wieder "anschalten".
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

SpionAtom

BeitragMo, Apr 14, 2008 13:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Schlimm ist auch, wenn man LoadImage vor Graphics benutzt. Wenn man dann versucht mit DrawImage zu malen, wird das Bild nicht gefunden, und man fragt sich warum.
Oder wenn man Array-Indizes außerhalb der zulässigen Grenzen benutzt. Das gibt dann nämlich nicht direkt einen Fehler, und man wundert sich, woher die ganzen komischen Werte herbekommt.
Castingprobleme float/int, Tippfehler, Copy&Paste ohne entsprechende Änderungen,... Die Liste ist lang. Und ich hab sie schon mehrmals durch Laughing
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080
 

buja

BeitragMi, Apr 16, 2008 17:11
Antworten mit Zitat
Benutzer-Profile anzeigen
SpionAtom hat Folgendes geschrieben:
Schlimm ist auch, wenn man LoadImage vor Graphics benutzt. Wenn man dann versucht mit DrawImage zu malen, wird das Bild nicht gefunden, und man fragt sich warum.



Lol, das wusste ich gar nicht. Was dieser Thread alles bringt^^

Bevor ich poste schau ich hier erstmal nach ob einer den selben Fehler gepostet hat^^
...

Shodan

BeitragDo, Apr 17, 2008 20:25
Antworten mit Zitat
Benutzer-Profile anzeigen
was auch sehr fies ist, wenn man den Wert eines geladenen Handles in einer Float-Variable speichert.
Also Code: [AUSKLAPPEN]
a#=Loadimage("test.bmp")

Mal funzt es, mal nicht. Hohe Zahlenwerte werden in Fliesskomma-Variablen gerundet, und schon stimmt der Wert des Handles nicht mehr.

Hatte damals mein halbes Dogfight mit solchen Fehlern geproggt, bevor es aufgefallen ist. Und das auch nur, weil ich es mal auf einem anderen Rechner ausprobiert hatte.
www.selfmadegames.de

d-bug

BeitragDo, Apr 17, 2008 20:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Aller miesester Tippfehler, den ich je sah und auch selbst schon hatte: 1 (Eins) und l "L" vertauscht, oder gar "I" (Ih) und l (L) ... Bei manchen Fonts fällt einem das absolut nicht auf und man sucht sich einen Buckel dran. Bei 0 (Null) und O (Oh) ist das manchmal auch so... Ganz toll auch wenn man sowohl die Variable l (L) als auch I (Ih) hat. Dieser Tippfehler sorgt für stundenlangen Spaß und ist nur zu empfehlen, wenn man mal gerade seinen Kumpel ärgern will...

peacemaker

BeitragDo, Apr 17, 2008 21:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hach, diese kleinen dummen Fehler sind immer lustig.
Das mit dem Image vor Graphics ist mir schon einmal passiert, ich habe gesucht gesucht und gesucht und schlussendlich wars dann durch Ausprobieren draussen.

Was mich am meisten aufregt sind diese MAVs die manchmal wirklich komisch kommen. Heute z.B. bekam ich ne Mav, bei nem "Next". Einmal habe ich ne Mav gekriegt und die BB-IDE und IDEal haben mir den Fehler bei ner Comment-Zeile angezeigt. TJa, solche schöne Sachen machen Proggen soo interessant.
~Tehadon~
www.tehadon.de
http://www.blitzforum.de/worklogs/14/

Randall Flagg

BeitragDo, Apr 17, 2008 21:18
Antworten mit Zitat
Benutzer-Profile anzeigen
d-bug hat Folgendes geschrieben:
Aller miesester Tippfehler, den ich je sah und auch selbst schon hatte: 1 (Eins) und l "L" vertauscht, oder gar "I" (Ih) und l (L) ... Bei manchen Fonts fällt einem das absolut nicht auf und man sucht sich einen Buckel dran. Bei 0 (Null) und O (Oh) ist das manchmal auch so... Ganz toll auch wenn man sowohl die Variable l (L) als auch I (Ih) hat. Dieser Tippfehler sorgt für stundenlangen Spaß und ist nur zu empfehlen, wenn man mal gerade seinen Kumpel ärgern will...


Das hat ein Kollege von mir mal bei seiner Schwester gemacht. Die wollte sich irgendwo einloggen, musste dann aber ans Telefon. Er hat ihr dann alle "I" (Ih) durch "l" (L) ersetzt xDDD Gott hatten wir was zu lachen xD hat lange gedauert bis die mal auf die Idee kam den Namen neu einzugeben^^
Meine Parodien & Geschichten
 

barratator

BeitragFr, Apr 18, 2008 7:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Mein schlimmstes Programm war so:
Alle 20 Sekunden wird eine Verbindung zu meinem VServer aufgebaut, nur leider, hab ich vergessen ein CloseTCPStream einzubauen...
Nach 5 Stunden hatte man ca. 1000 Verbindungen offen...Das Programm von mir wurde ca. 2000 mal runtergeladen...
Mein VServer hatte 180.000 Verbindungen also offen^^

Naja...es ging NICHTSMEHR...Nichtmals meine Homepage lies sich mehr öffnen...^^




gruß
Bastian

Silver_Knee

BeitragFr, Apr 18, 2008 14:15
Antworten mit Zitat
Benutzer-Profile anzeigen
mir wollte nie in den kopf für was man closefile braucht... hatte als Progs die immer File=Readfile gemacht haben und File=WriteFile und nach dem END waren alle dateien richtig... das gib bis 512 Dateien gut.... bis ich auf die idee kam das es am closefile liegen könnte dass sch die datei nicht öffnen lässt hats ewig gebraucht..

Noch schlimmer war SD... StarDoor.. eine art Spiel zu StarGate.. dort hab ich mittels SeedRnd 123 und den Darauffolgenden rands mir eine Liste von zufälligen adressen... Singleplayer liefs nur SeedRND läuft auf verschienen PC anderes...... DAAAAAASSS HAT GEBRAUcht...

Caesium

BeitragFr, Apr 18, 2008 14:27
Antworten mit Zitat
Benutzer-Profile anzeigen
SpionAtom hat Folgendes geschrieben:
Schlimm ist auch, wenn man LoadImage vor Graphics benutzt. Wenn man dann versucht mit DrawImage zu malen, wird das Bild nicht gefunden, und man fragt sich warum.
Oder wenn man Array-Indizes außerhalb der zulässigen Grenzen benutzt. Das gibt dann nämlich nicht direkt einen Fehler, und man wundert sich, woher die ganzen komischen Werte herbekommt.
Castingprobleme float/int, Tippfehler, Copy&Paste ohne entsprechende Änderungen,... Die Liste ist lang. Und ich hab sie schon mehrmals durch Laughing


hm, in bmax funktioniert LoadImage vor Graphics, hatte das problem auch schon desöfteren in blitz3d...

apropos copy&paste.. wollte in einer funktion von allen klassen die listen "leeren". joa.. habe den ersten (4-5zeiligen code) also mehrfach kopiert, aber eben nicht alles entsprechend abgeändert. hab 3 tage lang gesucht... kopf -> wand!
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann. Das Gegenteil ist da schon schwieriger. Smile

Eingeproggt

BeitragMo, Mai 05, 2008 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Endlosschleifen sind schon was Dummes. Vor allem dann, wenn mans nicht bemerkt. Meine neuste Kreation stürzt einfach ohne ein Wort zu sagen ab. Davor wundert man sich, warum er 2sek oder so nix tut Smile

Vereinfachen lässt es sich auf folgendes Schema:

Code: [AUSKLAPPEN]
hallo()

Function hallo()
  tu_was()
End Function

Function tu_was()
  hallo()
End Function


Bin recht schnell drauf gekommen, aber so einen Fehler hatte ich noch nie (Mit Funktionen).

mfG, Christoph.

mabox

BeitragMo, Mai 05, 2008 20:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie kommt man denn auf die Idee sowas zu schreiben?
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl
Dönerfresser Homepage

mas93

BeitragMo, Mai 05, 2008 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir wars so, dass ich variablen mit umlauten hatte.
Da kam dann immer image does not exist oder andere solcher irretreibenden fehlermeldungen^^
Hab ewig gesucht, bis mich ein netter Mensch darauf hinwies, dass es an den Variablennamen liegen könnte xD
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group