Game Launcher à la Xbox

  • VB.NET
  • .NET (FX) 3.0–3.5

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von ThuCommix.

    Game Launcher à la Xbox

    Hallo zusammen,

    ich bin ein absoluter Noob was programieren angeht und werde es wohl nie auf die Reihe bekommen. :S Habe mir auf Youtube dieses Video angeschaut um einen Launcher für ein Spiel zu erstellen:


    Soweit so gut, nur hatte ich etwas anderes im Sinne. Und zwar wollte ich, ähnlich wie bei der Xbox One, dass wenn man ein Spiel startet ein Wallpaper des Spieles erscheint (in Vollbild), eine kurze Audiodatei abgespielt wird (5-10 Sekunden lang) und danach das Bild wieder verschwindet und das Spiel gestartet wird. Das einzige was ich hinbekommen habe war, dass das Hintergrundbild erscheint, aber ohne Musik und dann das Spiel gestartet wird. Nur nach dem beenden ist das Bild immer noch da und ich muss den Launcher per Taskmanager killen. So sieht mein Code inmoment aus, könnte mir jemand weiterhelfen, so dass ich noch Audio dazupacken kann und erst NACHDEM er sie abgespielt hat, das Spiel gestartet wird und der Launcher gleichzeitig im Hintergrund beendet wird?

    Quellcode

    1. Public Class Form1
    2. Public Sub New()
    3. ' Dieser Aufruf ist für den Designer erforderlich.
    4. InitializeComponent()
    5. System.Diagnostics.Process.Start("C:\Users\Jens\Desktop\Warhammer 40,000 Dawn of War - Dark Crusade.url")
    6. ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
    7. End Sub
    8. End Class


    LG
    Finalzero
    Wenn man von der Idee absieht, dass ich ein Spiel starten will und erst nach einem 10sek-Song es auch startet, was ich recht nervig fände (k.A. ob es bei der XBOX so ist, ich hab keine XBOX), verweist mich Google für "vb.net play sound" auf das MSDN:

    VB.NET-Quellcode

    1. Sub PlayBackgroundSoundFile()
    2. My.Computer.Audio.Play("C:\Waterfall.wav",
    3. AudioPlayMode.WaitToComplete)
    4. End Sub
    Jene Datei wird abgespielt und danach geht es erst mit dem weiteren Code weiter. Klingt so, als ob es das wäre, was Du willst. Das mit dem TaskManager-Kill: Warum nicht erstmal den Spiel-Aufruf in das Click-Event eines entsprechenden Buttons schieben? Beim Erstellen eines Formulars gleich mal Startcode ausführen halte ich für … verfrüht. Aber ist natürlich die Frage, ob das Absicht ist.

    EDIT: Das ganze ohne My-Namespace: MSDN-Eintrag 2
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Bild anzeigen -> selbst gelöst
    Sound abspielen ->siehe @VaporiZed
    Spiel starten -> selbst gelöst
    Form schließen -> geht mit Close()
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Danke euch, ich habe mein Code überarbeitet und es sieht jetzt folgendermaßen aus:

    Quellcode

    1. ​Public Class Form1
    2. Sub PlayBackgroundSoundFile()
    3. My.Computer.Audio.Play("C:\Users\Jens\Desktop\Necron.mp3",
    4. AudioPlayMode.WaitToComplete)
    5. InitializeComponent()
    6. System.Diagnostics.Process.Start("C:\Users\Jens\Desktop\Warhammer 40,000 Dawn of War - Dark Crusade.url")
    7. Close()
    8. End Sub
    9. End Class


    Jedoch wird kein Audio abgespielt, noch wird das Spiel gestartet. Das einzige was ich sehe ist das Hintergrundbild. Spielt es eine Rolle in welchem Format die Audiodatei ist?

    Finalzero schrieb:

    ich bin ein absoluter Noob was programieren angeht und werde es wohl nie auf die Reihe bekommen.
    Da scheinen tatsächlich noch (zwangläufig relevante!) Grundlagen zu fehlen. Du musst die Sub PlayBackgroundSoundFile auch explizit aufrufen, wenn sie ausgeführt werden soll. Außerdem gehört die Zeile InitializeComponent (m.E.) ausschließlich in die Sub New des Formulars, also in den Konstruktor. Die anderen dürfen mich gerne korrigieren, wenn es in anderen Subs Sinn ergibt.
    Pack einen Button auf das Form(ular), mach einen Doppelklick drauf, dann dürfte automatisch generierter Code auftauchen, der folgendermaßen beginnt: Private Sub Button1_Click. Nach dieser Zeile schreibst Du PlayBackgroundSound, startest das Programm. Und wenn Du den Button anklickst, sollte passieren, was Du im Sinn hattest. Ja oder nein? Wenn nein, bitte Deinen kompletten Code zeigen (sollten ja nur ca. 14 Zeilen sein).
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    VaporiZed schrieb:

    Finalzero schrieb:

    ich bin ein absoluter Noob was programieren angeht und werde es wohl nie auf die Reihe bekommen.
    Da scheinen tatsächlich noch (zwangläufig relevante!) Grundlagen zu fehlen. Du musst die Sub PlayBackgroundSoundFile auch explizit aufrufen, wenn sie ausgeführt werden soll. Außerdem gehört die Zeile InitializeComponent (m.E.) ausschließlich in die Sub New des Formulars, also in den Konstruktor. Die anderen dürfen mich gerne korrigieren, wenn es in anderen Subs Sinn ergibt.
    Pack einen Button auf das Form(ular), mach einen Doppelklick drauf, dann dürfte automatisch generierter Code auftauchen, der folgendermaßen beginnt: Private Sub Button1_Click. Nach dieser Zeile schreibst Du PlayBackgroundSound, startest das Programm. Und wenn Du den Button anklickst, sollte passieren, was Du im Sinn hattest. Ja oder nein? Wenn nein, bitte Deinen kompletten Code zeigen (sollten ja nur ca. 14 Zeilen sein).


    Hallöchen,
    danke für die Antwort. Nur wollte ich nicht extra ein Button klicken um das Spiel zu starten, das soll automatisch passieren wenn ich auf den Launcher klicke. Geht das Abspielen der Audiodatei nur mithilfe eines Buttons? Das ganze soll auch nur als Experiment dienen.

    LG
    Finalzero
    Hi,
    im Grunde hast du alles was du benötigst bereits selbst gelöst oder von @VaporiZed und @mrMo bekommen.
    du musst es lediglich in die Richtige Reihenfolge und in die Richtige „Aufruf“-Methode schieben.
    Nimm dazu am besten das Form_Shown Event, dort rufst Du zuerst die PlayBackground sub auf, dann startest du den Process, danach noch ein Me.Close() und fertig ist dein Programm...
    "Hier könnte Ihre Werbung stehen..."
    ... Und dann solltest du dich dringend mit den Grundlagen von VB.Net beschäftigen. Ich bin ja der Meinung, ein Buch vermittelt diese Grundlagen am Besten. Daher auch mein obligatorischer Tipp: Kauf dir nen VB.Net Buch und arbeite dieses gewissenhaft durch.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Vergiss YouTube solange du die Grundlagen nicht beherrschst.
    Das gute vom überwiegend schlechten zu Trennen bedarf relativ viel Erfahrung.

    Ein gutes Buch hilft die beim Einstieg in die Programmierung ungemein.