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

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

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

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

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

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

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

  8. #8
    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?

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

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

  11. #11
    Hallo Community:
    Dieses Mal ist mein Problem schnell erläutert.
    Wie kann man auf einer Map zwei verschiedene Fogs anzeigen lassen?
    Falls diese Info wichtig ist: Einer soll sich bewegen, der Andere bewegt sich nicht.

    Und nein, ich kann keinen der beiden einfach als Picture anzeigen lassen, da die Map größer als 20x15 ist und der eine Fog eine LE ist.

    Hoffe jemand kann mir helfen.

  12. #12
    Du kannst dieses Script direkt über dein "Main" Script einfügen. Damit erhälst du Zugang zu einem weiteren Fog.

    Der Fog besitzt eine Standardeinstellung welche für alle Karten automatisch geladen wird. Im Moment ist die Standardeinstellung folgende:

    • Additional_Fog_Standard_Name = ""
    • Additional_Fog_Standard_Hue = 0
    • Additional_Fog_Standard_Opacity = 64
    • Additional_Fog_Standard_Zoom_X = 1.0
    • Additional_Fog_Standard_Zoom_Y = 1.0
    • Additional_Fog_Standard_Blend_Type = 0

    Der Name ist der Dateiname deines Fogs innerhalb des "Graphics/Fogs" Ordners. Dateinamenserweiterungen wie zum Beispiel ".png" können, müssen aber nicht geschrieben werden.
    Die "Hue" ist die Sättigung deines Fogs, innerhalb der Database also der Schieberegler um die Farbe zu variieren.
    Opacity beschreibt die Transparenz des Fogs, eine Opacity von 0 bedeutet komplett durchsichtig, beziehungsweise unsichtbar. Eine Opacity von 255 ist das Maximum.
    Dann die Zoomwerte als reele Zahl und der Blend_Type. Der Blend_Type 0 bedeutet, dass kein Blendmodus verwendet wird, 1 ist Addition, 2 Subtraktion.

    Wie gesagte, dieser Standard gilt für alle Karten, lässt du den Namen leer, wie in dem Beispiel wird kein zusätzlicher Fog gezeigt.

    Innerhalb eines Events kannst du den Fog der Karte ebenfalls ändern. Diese Änderung gilt dann für alle Karten global.

    der Befehl lautet:
    "$scene.set_additional_fog(name, hue, opacity, zoom_x, zoom_y, blend_type)"
    Einfach als custom Script in ein Event schreiben und die entsprechenden Parameter eintragen.

    Das Script ist natürlich noch ausbaufähig, es soll eher eine Art Ansatz darstellen.
    Ich hoffe du wirst damit klarkommen und es kann dir eine Hilfe sein.

  13. #13
    Zitat Zitat von diäitsch Beitrag anzeigen
    Und nein, ich kann keinen der beiden einfach als Picture anzeigen lassen, da die Map größer als 20x15 ist und der eine Fog eine LE ist.
    http://forum.rpg2000.4players.de/php...cture+fixieren

    Mit diesem Script sollte es auch mit Pictures möglich sein.

Berechtigungen

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