Ergebnis 1 bis 20 von 215

Thema: diäitsch's Problem Sammelthread (Xp) :D

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Die Frage ist eher wieso du die Länge ändern willst.
    Die Textbox im Titelmenü ist ein "Window_Command" und das passt sich in der Länge automatisch der Anzahl der Optionen an. An Window_Command rumzufummeln würde ich aber nicht vorschlagen (da diese Klasse auch an einigen anderen Stellen Verwendung findet).

  2. #2
    Der Grund liegt darin das ich die Optionen (Neues Spiel, Spiel laden, Spiel beenden) direkt auf das Titelbild geschrieben habe, es also dem Stil der weiteren Textzeilen auf dem TB angepasst habe. Diese sind jedoch zu weit auseinander als das die Standarteinstellung reichen würde.
    Im "Scene Titel" habe ich diese 3 einfach offen gelassen. Windowskin ist auch stark beschränkt.^^
    Nun, wenn es doch nicht so einfach ist... gibt es eine Möglichkeit das ganze über Tastendruck zu regeln?

    Neues Spiel - 1
    Spiel laden - 2
    Spiel beenden - 3

    Spielstand #1 - 1
    Spielstand #2 - 2
    Spielstand #3 - 3
    Spielstand #4 - 4

  3. #3
    Eine "Scene_Title" Klasse selbst zu erstellen ist eigentlich kein Problem, soetwas kann in ein paar wenigen Minuten erledigt werden. Wenn es ein Titelbildschirm im standart Format ist kann man die Optionsauswahl auch ganz einfach ohne ein Window_Command durchführen.

    Wenn du möchtest könnte ich dir gerne einmal ein einfaches Beispiel geben, es ist wirklich keine Arbeit die Länger als ein paar wenige Minuten dauern sollte.

  4. #4
    Es ist ein Standard Titelbild.
    Also klar, wenn du mir ein Beispiel geben könntest wäre das echt toll.

  5. #5
    Hier, ein kleines Beispiel.
    Es ist nicht besonders kompliziert und bietet daher auch nicht allzu viele Möglichkeiten. Lässt sich allerdings perfekt in jegliche standard XP-Projekte integrieren. Im Moment ist es lediglich eine Art kopie des normalen Titelscreens nur ohne ein Command Window sondern stattdessen ein dynamischer sprite als Cursor.

    An diesem Titelbildschirm kann natürlich noch sehr viel gefeilt werden um ihn besser zu machen. Vielleicht schaffst du es selbst nötige Updates vor zu nehmen, falls nicht kannst du immernoch nachfragen.

    Verändert werden müsste lediglich die Klasse "Scene_Title" und dazu wird die neue Klasse "Scene_Title" hinzugefügt. Man könnte dies auch ohne zwei Klassen lösen allerdings denke ich ist es so wie es im Moment ist am einfachsten zu bearbeiten und zu konfigurieren.

    Schau dir einmal das Beispielprojekt an.
    Alles was du erledigen musst um es zu implementieren ist folgendes:
    Kopiere den Code im Beispielprojekt aus der Klasse "Scene_Title_Base" und füge ihn in die Klasse "Scene_Title" aus deinem Projekt ein.
    Kopiere die Klasse "Scene_Title" aus dem Beispielprojekt und füge sie in dein Projekt ein.
    In den ersten Zeilen der Klasse "Scene_Title" kannst du den Pfad für das "Background" und "Pointer" Bitmap eingeben.

    Hier ist der Code beider Klassen falls du das Projekt nicht downloaden und testen willst:

    Geändert von Cornix (07.01.2011 um 13:39 Uhr)

  6. #6
    Hey, danke für die ausführlichge Beschreibung.
    Jedoch hat sich wohl ein Bug eingeschlichen. Habe das Projekt, welches du angehängt hast gedownloaded und getestet, wenn ich jedoch die Pfeil nach oben- oder unten Taste drücke, erscheint folgende Fehlermeldung:

    Wäre echt super wenn du das beheben könntest. Scheint ja für dich kein Problem darzustellen...

  7. #7
    Ersetze das 2. Scene_Title im Script durch dieses:

    Code:
    class Scene_Title < Scene_Title_Base
      
      BACKGROUND_BITMAP = "Graphics/Pictures/Test-Background.png"
      POINTER_BITMAP = "Graphics/Pictures/Test-Pointer.png"
      
      POINTER_X = 224 #Cursor X position
      POINTER_Y = 166 #Cursor Y position for first command
      POINTER_Y_STEP = 55 #Cursor Y Addition for 
      
      OPTIONS = 3 #number of commands
      NEW_GAME  = 0 #Index number for command: New Game
      LOAD_GAME = 1 #Index number for command: Load Game
      QUIT_GAME = 2 #Index number for command: Quit Game
      MAX_INDEX = OPTIONS - 1  #total number of indices
      
      def main
        #visual stuff
        @sprite_background = Sprite.new
        @sprite_background.bitmap = Bitmap.new(BACKGROUND_BITMAP)
        @sprite_background.src_rect = @sprite_background.bitmap.rect
        
        @sprite_pointer = Sprite.new
        @sprite_pointer.bitmap = Bitmap.new(POINTER_BITMAP)
        @sprite_pointer.src_rect = @sprite_pointer.bitmap.rect
        
        @index = 0
        @sprite_pointer.x = POINTER_X
        self.update_pointer
        #standard "Scene_Title" initialization stuff
        super
        #end of scene title
        @sprite_pointer.bitmap.dispose
        @sprite_pointer.dispose
        @sprite_background.bitmap.dispose
        @sprite_background.dispose
      end
      
      def update
        if Input.repeat?(Input::UP)
          $game_system.se_play($data_system.cursor_se)
          @index = @index > 0 ? @index - 1 : MAX_INDEX
          @sprite_pointer.y = POINTER_Y + @index * POINTER_Y_STEP
        end
        if Input.repeat?(Input::DOWN)
          $game_system.se_play($data_system.cursor_se)
          @index = @index < MAX_INDEX ? @index + 1 : 0
          @sprite_pointer.y = POINTER_Y + @index * POINTER_Y_STEP
        end
        if Input.trigger?(Input::C)
          case @index
          when NEW_GAME
            self.command_new_game
          when LOAD_GAME
            self.command_continue
          when QUIT_GAME
            self.command_shutdown
          end
        end
      end
      
      def update_pointer
        @sprite_pointer.y = POINTER_Y + @index * POINTER_Y_STEP
      end
      
    end

  8. #8
    Vielen Dank euch beiden, jetzt klappt es.^^
    Interessant auch, dass das TB und das "falsche Windowskin" auf die Pictures zugreifen.

  9. #9
    Vielen Dank an Shisu, es schlich sich tatsächlich ein kleiner Fehler hinein. Hauptsache es funktioniert jetzt.
    Doch wie gesagt, im Moment ist es nur sehr grundlegend.

  10. #10
    Hallo Community,
    der Befehl "Event Touch" ist ja bekanntlich nur für den Player von Bedeutung, kommt er mit einem Event welches so eingestellt ist in Berührung, oder kommt das Event mit ihm in Berührung, so passiert etwas. Nun habe ich vor ein kleines AKS zu machen. Die Kondition das man selbst oder der Gegner Schaden erhält ist, das man/er mit einem Event in Berührung kommt (in diesem Fall eine Patrone).
    Also, wie ist es Möglich das Events mit anderen Events reagieren?

  11. #11
    Map-/Screen-Koordinaten.
    Musst du halt dann für die betreffenden Events abfragen und vergleichen. Für eine Kugel dürfte es ja nur von Interesse sein, wenn sie dieselben Koordinaten wie ein Event/der Spieler hat.

  12. #12
    Okay, danke für die Info.
    Wobei ich sagen muss das betreffendes Projekt jetzt wahrscheinlich ein Teamprojekt wird.
    Der Jenige hat schon das Ein oder Andere Interessante KS erstellt und das, wie ich es bevorzuge alles über Events.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •