Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Dofter

Treue Seele

Beiträge: 159

Wohnort: im wunderbaren EBERMANNSTADT

Beruf: Schüler^^

  • Private Nachricht senden

11

06.05.2007, 10:52

Zitat von »"oliverb"«

Zitat von »"Dofter"«

Ich würde kein Singleton benutzen, weil wenn ich dass so richtig sehe, man pro Instanz immer nur eine Schriftart laden kann. D.h. Singleton => nur eine Schriftart - kein Singleton => meherer Schriftarten möglich


Für den fall könnt man sich ne Funktion zum Font-wechsel schreiben X:


Des dauernde Font wechseln würde aber viel mehr Zeit einnehmen, als Standertmäßig 2 oder mehr Schriftarten zu speichern.
"Wo kämen wir hin, wenn alle sagten, wo kämen wir hin, und keiner ginge,
um zu sehen, wohin wir kämen, wenn wir gingen"

Schnitter

Treue Seele

  • »Schnitter« ist der Autor dieses Themas

Beiträge: 141

Wohnort: Remshalden

Beruf: Schüler

  • Private Nachricht senden

12

07.05.2007, 12:17

Zitat von »"Schnitter"«

Jetzt direkt ein Problem mit dem Mixer. Ich habe eine Datei namens "explosion.wav", die ich abspielen möchte, wenn ein Schuss einen Asteroiden trifft. ich habe mir eine Klasse geschrieben mit 2 Funktionen names "playSound()", die erste:

C-/C++-Quelltext

1
2
3
4
5
6
7
void CSound::playSound(char soundFileName[])//Must be a *.wav file!

{
    // Sound laden

    m_pSound = Mix_LoadWAV( soundFileName ); 
    //Sound abspielen

    Mix_PlayChannel(-1, m_pSound, 0); 
}//playSound

habe ich erst genommen. Der sound hat aber immer hinter den Schüssen hergehinkt. Ich habe mir gedacht, dass das so ist, weil ich die Datei ja bei jedem Schuss neu laden muss. Daher noch eine 2te Funktion:

C-/C++-Quelltext

1
2
3
4
5
void CSound::playSound(Mix_Chunk* pSound)
{
    //Sound abspielen

    Mix_PlayChannel(-1, pSound, 0); 
}//playSound

Diese benutze ich jetzt. Ich habe mir auch eine Membervariable in CGame erstellt, die ich so lade(im Konstruktor):

C-/C++-Quelltext

1
    m_pExplosionSound = Mix_LoadWAV("Data/explosion.wav");


Naja, und das wird eben irgendwie nicht abgespielt.
Ich weiß nicht warum, vorher hat es funktioniert, also mit der anderen Funktion.


Hoffe, es weiß jemand Rat.


MfG

Hat keiner was auf Lager?

denjo

Treue Seele

Beiträge: 163

Wohnort: BLB

  • Private Nachricht senden

13

09.05.2007, 13:24

Also ich würde die Sound-Klassen weglassen und ihn einfach in Game.hpp bzw. Game.cpp deklarieren. Zum hinterherhinken des Sounds! Ich glaube, dass du das nicht weg bekommst, da die .wav-Datei ansich länger läd. Das Problem hatte ich nämlich auch. Ich habe den Sound für die Explosionen einfach in Game.hpp und Game.cpp deklariert, da ich es überflüssig fand extra Funktionen zu schreiben...es hat auch wunderbar geklappt (bis auf das der Sound halt immer nen bisschen hinterherhinkte).

mfg denjo
"Irren ist menschlich, Vergeben göttlich."
- Alexander Pope -

Werbeanzeige