Spiel in SystemTrayLeiste weiterlaufen lassen.

    • GM 8

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Spiel in SystemTrayLeiste weiterlaufen lassen.

      Hallo alle zusammen.
      So lasst ihr euer Game in der System-Tray-Leiste weiterlaufen, wie auf diesem
      Beispielbild, auch Befehle könnt ihr über Rechts-Klick erteilen.



      Ladet euch dazu das SST - Tutorial - Deutsch runter.(im Dateianhang

      1. Importiert die SST-Scripts in euer Game. Erstellt ein Objekt "sst" und "obj_haupt", in das Haupt-Objekt fügt ihr
      folgenden Code ins Create-Event: (code1)

      Spoiler anzeigen

      GML-Quellcode

      1. // DLL Pfad
      2. SST_Create(working_directory+"\SST.dll",0); //DLL muss sich im selben Ordner wie die exe befinden.
      3. parent_handle = SST_SetHandles(window_handle());
      4. //Lädt dein Icon (icon-Pfad)
      5. //Perfekte größe 16x16 andere größen werden angepasst. Datei muss eine .ico sein.
      6. SST_LoadIcon(working_directory+"\icon1.ico");
      7. // Gibt den Namen an, der angezeigt wird, sobald man mit der Maus über das Icon geht
      8. SST_SetToolTip("System Tray Example 1");
      9. SST_WindowProcedure(1);
      10. SST_Notify(sst.NIM_ADD);
      11. //unwichtige Notizen wurden entfernt. Stand 02.01.2011
      Alles anzeigen


      2. Ins Step-Event fügt ihr folgenden Code: (code2)

      Spoiler anzeigen

      GML-Quellcode

      1. // !! WICHTIG Nichts alles ist deutsch übersetzt. Übersetzt von Lucke (gm-d.de).
      2. // Dieses Script muss in ein Step-Event, es checkt, ob die Maus auf dem Icon Arbeitet.
      3. switch (SST_GetInput()) {
      4. case 0:
      5. /*If a zero is returned, no input was detected*/
      6. /*This is here just to tell you that ;P*/
      7. break;
      8. case sst.WM_LBUTTONUP:
      9. // Link-Klick. (ändert das Fenster.)
      10. if (SST_IsIconic()) {
      11. SST_ShowWindow(parent_handle,sst.SW_SHOW);
      12. SST_ShowWindow(parent_handle,sst.SW_RESTORE);
      13. SST_SetForegroundWindow(window_handle());
      14. } else {
      15. //Minimiert das Fesnter.
      16. SST_ShowWindow(parent_handle,sst.SW_MINIMIZE);
      17. /*Before hiding a window, make sure to minimize it*/
      18. SST_ShowWindow(parent_handle,sst.SW_HIDE);
      19. };
      20. break;
      21. case sst.WM_RBUTTONUP:
      22. //Rechte Maustaste losgelassen, zeigt dieses Menü.
      23. SST_SetForegroundWindow(window_handle());
      24. switch (show_menu("Punkt 1|Icon|Message|Beenden",-1)) { //Zeilen des Menüs. Zeilen werden durch | getrennt.
      25. case 0: // Wenn Punkt 1 gekilckt wird, passiert:
      26. show_message("Du hast auf Punkt 1 gekilckt."); // Zeile 1 des Menüs
      27. break;
      28. case 1: /*Ändert das Icon.*/
      29. SST_LoadIcon(working_directory+"\icon2.ico");
      30. SST_Notify(sst.NIM_MODIFY);
      31. show_message("Icon Changed");
      32. break;
      33. case 2: /*Message:*/
      34. show_message('Du hast auf Message gedrückt.'); // einfach Befehl entfernen und deinen Befehl hinschreiben.
      35. break;
      36. case 3: /*End Game*/
      37. show_message("Beendet ;)");
      38. game_end(); // Befehl.
      39. };
      40. break;
      41. case sst.WM_RBUTTONDBLCLK:
      42. /*Rechter-Doppelklick*/
      43. /*Zeigt diese Message.*/
      44. show_message("Du hast einen Doppel-Klick mit der rechten-Maustaste gemacht. (auf das Icon) :D.");
      45. break;
      46. };
      Alles anzeigen


      // Wozu die einzelnen Codes dienen steht als Notiz dabei.

      3. Passt die Codes echt an, wählt den Pfad für die DLL & und das Icon. Und sucht euch einen Namen aus, der angezeigt wird
      wenn ihr mit der Maus über dem Icon seit.

      4. Um das Menü anzupassen müsst ihr in diesem Abschnitt von "code2" ein wenig was ändern:

      Spoiler anzeigen
      [...]
      switch (show_menu("Punkt 1|Icon|Message|Beenden|Erweiterung",-1)) { //Zeilen des Menüs. Zeilen werden durch | getrennt.
      case 0: // Wenn Punkt 1 gekilckt wird, passiert:
      show_message("Du hast auf Punkt 1 gekilckt."); // Zeile 1 des Menüs
      break;
      case 1: /*Ändert das Icon.*/
      SST_LoadIcon(working_directory+"\icon2.ico");
      SST_Notify(sst.NIM_MODIFY);
      show_message("Icon Changed");
      break;
      case 2: /*Message:*/
      show_message('Du hast auf Message gedrückt.'); // einfach Befehl entfernen und deinen Befehl hinschreiben.
      break;
      case 3: /*End Game*/
      show_message("Beendet ;)");
      game_end(); // Befehl.
      break;
      case 4:
      //Befehl sollte hier stehen.

      [...]


      5. Die Felder die hier grün und organge makiert wurden, zeigen was geändert wurde, im show_menue-Befehl musst du
      einen weitern Punkt setzten, erst ein | und dann deinen Text (hier ist er "Erweiterung"Farbe grün.).

      6.Da hinter dem letzten case nie ein break; steht, musst du dieses auch hinzufügen (hier orange), dann erweiterst du den
      case 4 und den Befehl dafür, der hier noch nicht exestiert (nur eine Notiz).

      ACHTUNG, das SST-Objekt ist ein leeeres Objekt, es wird weder im Room plaziert, noch darfst du dort Events hinzufügen,
      das SST ist für die Scripts, damit arbeiten die ;).

      So einfach kannst du dein Spiel in der Task-Leiste weiterlaufen lassen, oder bedienen mit einem Menü.
      Nicht alle Codes konnte ich richtig darstellen lassen hier im Thread.
      Bei Problemen, Fehlern oder sonstigen Anmerkungen, einfach fragen (im Thread oder als PM).

      Stand 02.10.2011



      Scripts und DLL's:
      Shaltif's System Tray
      --Your solution to Game Maker system tray support
      --Brandon Rohrer © 2005-2006
      --Version 1.0.0.0


      Deutsches Tutorial von Lucke.


      Dateien
      @7rust-dev

      Dieser Beitrag wurde bereits 10 mal editiert, zuletzt von Lucke () aus folgendem Grund: Rechtschreibfehler behoben, Downloads wieder aufgefrischt.