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
    Hm, also auf Pics wollte ich eigentlich verzichten, geht ja einfacher.
    Hast du zufällig 'nen Link parat?^^

  2. #2
    link? Meinst du den mit den mit der Fee, der mit den hässlichen Ohren und ein Schwert, mit dem er alles zerstören kann? xD

    Neee, ein Link. Wozu? Zu dem Script. Ist, wenn ich mich nicht täusch hier in den Thread, wo alle Skripte reinkommen, die man eigentlich brauch. Also Standartskripte, oder wie der auch hieß xD

  3. #3
    Guten Morgen Community,
    mal eine wirklich ganz bescheidene Frage und zwar: Wie kann man bei der Auswahl im Titelbild (Neues Spiel, Spiel laden, Spiel beenden) die Textbox länger ziehen?
    Also über "Scene_Title" im der RGS Library kann man ja u.a. die Breite ändern aber für die Länge habe ich da nichts gefunden. Und wenn man mehr machen muss als Zahlen ändern, hört's bei mir auch schon auf...
    Vielleicht kann mir jemand helfen?

    MfG, diäitsch

  4. #4
    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).

  5. #5
    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

  6. #6
    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.

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

  8. #8
    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 12:39 Uhr)

  9. #9
    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...

  10. #10
    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

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

  12. #12
    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.

Berechtigungen

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