Ergebnis 1 bis 5 von 5

Thema: Simple Title Script x.x ?

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #4
    Okay... kommt vielleicht etwas spät, aber hier die Lösung für dich.
    Ich habe einfach die Grafiken genommen, die du hier gezeigt hast. Es hat mich etwas gewundert, dass die Buttons breiter sind als nötig, also 400px anstelle von 327px, die die Buttons eigentlich breit sind.
    Der Code wurde jetzt schnell geschrieben und enthällt noch so einige Dinge bei denen jeder vernünftige Programmierer die Hände über dem Kopf zusammenschlagen würde. Beeinflusst aber nicht die Funktionsweise des Scripts.
    Zum Script selber... im Prinzip habe ich einfach das Title-Script vom Maker selber genommen und nur an den nötigen Stellen abgeändert. Die eigentliche Arbeit bestand darin das Command_window durch Bilder zu ersetzen.

    Code:
        # Make command window
        @command_index = 0
        @command = Sprite.new
        @command.x = 120
        @command.y = 396
        @command.bitmap = Bitmap.new(400, 65)
        @newgame_inactive = RPG::Cache.title("newgame_inactive.png")
        @newgame_active = RPG::Cache.title("newgame_active.png")
        @loadgame_inactive = RPG::Cache.title("loadgame_inactive.png")
        @loadgame_active = RPG::Cache.title("loadgame_active.png")
        @rect = @newgame_active.rect
    ...
    Code:
        loop do
          # Update game screen
          Graphics.update
          # Update input information
          Input.update
          # Frame update
          update
          command_update
          # Abort loop if screen is changed
          if $scene != self
            break
          end
        end
        # Prepare for transition
        Graphics.freeze
        # Dispose of command window
        @command.bitmap.dispose
        @command.dispose
        # Dispose of title graphic
        @sprite.bitmap.dispose
        @sprite.dispose
    ...
    Code:
      def update
        # Wenn HOCH oder RUNTER gedrückt wird
        if Input.trigger?(Input::DOWN)
          @command_index += 1
          if @command_index == 3
            @command_index = 0
          end
        end
        if Input.trigger?(Input::UP)
          @command_index -= 1
          if @command_index == -1
            @command_index = 2
          end
        end
        # If C button was pressed
        if Input.trigger?(Input::C)
          # Branch by command window cursor position
          case @command_index
          when 0  # New game
            command_new_game
          when 1  # Continue
            command_continue
          when 2  # Shutdown
            command_shutdown
          end
        end
      end
    Ich hoffe das ist alles soweit verständlich... Ich hab noch n paar Originalzeilen mitkopiert, damit du die nötigen Stellen findest.
    Ach was noch erwähnenswert ist, dass ich hier noch einen dritten Fall eingebaut hab, damit man das Spiel auch beenden kann... vielleicht möchtest du dafür ja doch noch eine Grafik bzw einen Menüpunkt machen.

    edit: hab die grafiken für die Buttons übrigens umbenannt...

    peinlich peinlich... jetzt hab ich doch tatsächlich das wichtigste vergessen zu posten xD

    Code:
      #--------------------------------------------------------------------------
      # * Command Update
      #--------------------------------------------------------------------------
      def command_update
        @command.bitmap.clear
        case @command_index
        when 0
          @command.bitmap.blt(0, 0, @newgame_active, @rect)
          @command.bitmap.blt(0, 40, @loadgame_inactive, @rect)
        when 1
          @command.bitmap.blt(0, 0, @newgame_inactive, @rect)
          @command.bitmap.blt(0, 40, @loadgame_active, @rect)
        when 2
          @command.bitmap.blt(0, 0, @newgame_inactive, @rect)
          @command.bitmap.blt(0, 40, @loadgame_inactive, @rect)
        end
      end
    einfach unterhalb der normalen "update"-funktion einfügen

    Geändert von Schemeron (17.01.2009 um 12:09 Uhr)

Berechtigungen

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