| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Developer Registriert seit: Sep 2001 Ort: Unterhaching/München
Beiträge: 515
| Globale Soundsteuerung
Ich bin gerade dabei, meinem neuen Spiel die Soundsteuerung zu verpassen. Da dachte ich mir, ich frage mal nach, wie Ihr die handhabt. Ich denke gerade an eine statische Klasse SoundMachine, die bei Start alle Sounds generiert und dann eine Methode: SoundMachine.playSound(SoundMachine.SND_MENU_MOUSE OVER); ... die ich von überall aufrufen kann. Da es im Spiel auch differenzierte Soundeinstellungen geben wird, hätte ich gerne alles an einem Ort. Wie regelt ihr das? Danke für Eure Meinungen... |
| | |
| | #3 (permalink) |
| Developer Registriert seit: Sep 2001 Ort: Unterhaching/München
Beiträge: 515
|
Weitere Meinungen? (ich habe nicht nach dem für und wider von globalen funktionen/variablen gefragt, sondern nach Ideen zum Aufbau der Soundsteuerung) Vorallem: Was ist das schlimme an Globaler Soundsteuerung...? Geändert von malthoff (12-10-2008 um 19:47 Uhr) |
| | |
| | #4 (permalink) |
| Developer Registriert seit: Sep 2001 Ort: Unterhaching/München
Beiträge: 515
|
wäre es besser, ich bau ein SoundObject und mache den Zugriff darauf statisch? Ich will einfach einen sauberen Weg finden, die Sounds nicht auf zig Klassen zu verteilen und vorallem nicht die Referenz auf das Soundobjekt allen Klassen irgendwann mitgeben zu müssen, die zufällig nen Sound abspielen. Lieb wäre mir Folgendes: PHP-Code: die Referenz auf SoundMachine mitgeben, oder aber ich habe statischen Zugriff auf SoundMachine... Ist das schlimm? |
| | |
| | #5 (permalink) |
| voidboy Registriert seit: Sep 2004 Ort: München
Beiträge: 5.588
|
Versende doch lieber ein Event (unter AS3 kann man das bubblen lassen, AS2 sieht es dann schon wieder etwas anders aus) an deine Hauptklasse, die kann dann den entsprechend angeforderten Sound abspielen.
|
| | |
| | #6 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.898
|
Das schlimme an globalen Variablen/Klassen etc ist, dass der Code alles andere als transparent ist - es gibt unsichtbare Abhängigkeiten, die keiner will. Mach liebe eine Komponente, die du einmal einbindest, lose koppelst und gut ist. Das ganze verlangt nur eine flache Objekthierarchie. |
| | |
| | #7 (permalink) |
| Developer Registriert seit: Sep 2001 Ort: Unterhaching/München
Beiträge: 515
|
ja, ich befinde mich in diesem Falle in AS2. Seis drum... Ok, folgendes zum Aufbau. Alles befindet sich in einzelnen SWFs, damit das Laden geteilt werden kann. 1. Start mit Intro (wo ich gerne alle Sounds des Spiels laden würde, denn Einbinden in die FLA macht keinen Sinn, weil sonst das exportieren ewig dauert.... 2. Menu mit Settings, Anleitung, Highscore..blabla... 3. Die 3 Spiellevel Ich hab eine Menge Objekte, die ineinander verschachtelt sind. Von einer flachen Hierarchie kann man eigentlich nicht sprechen. Mit loser Kopplung wäre ich sehr zufrieden...suche aber nach einer Möglichkeit, die Referenz aufs Soundobjekt, welches ganz oben in der Hierarchie erstellt wird, NICHT bis in die Tiefen des Programms durchzureichen um auch einen MenuButton "loooooose" zu koppeln.... Geändert von malthoff (12-10-2008 um 20:15 Uhr) |
| | |
| | #9 (permalink) | |
| Developer Registriert seit: Sep 2001 Ort: Unterhaching/München
Beiträge: 515
| Ja, Gott sei Dank ;-) Aber vielleicht steh ich auch gerade auf dem Schlauch. Irgendwo hab ich den Start...dort will ich die Sounds laden. Und dieses Objekt, welches alle Sounds abspielen kann, muss ich doch zwangsläufig mal mit den Klassen in Verbindung bringen, die dann das Event Dispatchen. Also meinetwegen: (Start beinhaltet SoundMachine) Start - Menu - MenuController - MultiPressComponent - MenuEntry jetzt muss ich ja die Referenz auf SoundMachine komplett durchreichen, um MenuEntry damit loose zu koppeln...und ich will auch nicht in jeder Klasse ein getBackReference() drin haben...was ja auch keine lose Kopplung wäre...auch Start will ich nicht komplett durchreichen, denn was interessiert MultiPressComponent die Startklasse...? Zitat:
zum richtigen Zeitpunkt *g | |
| | |
| | #10 (permalink) |
| muh Registriert seit: Apr 2002 Ort: Freiburg
Beiträge: 4.350
|
Klingt für mich wie für Event-Bubbeling geschaffen, und das kannst du auch problemlos mit AS2 umsetzen (der ursprüngliche Beitrag von Ralf ist leider offline) (wenn du das ganze auf MovieClip.prototype anwendest, müsste es auch automatisch bei allen MovieClips gehen) Vielleicht solltest du dir auch überlegen, ob du dich auf Sounds festlegen willst, oder nicht einfach abstrakte Ereignisse (Gegner erledigt, ...) rausschicken möchtest, und ob das dann ein Sound wird, entscheidet dann ein Handler, so kannst du beispielsweise, wenn jemand Sounds abgeschaltet hat, stattdessen eine Meldung anzeigen.
__________________ »Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!) Geändert von Janoscharlipp (12-10-2008 um 20:46 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |