collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: Menü mit Icons  (Gelesen 1471 mal)

Offline Akwa

  • Ralph
  • *
  • Beiträge: 18
    • Akwadesign
Menü mit Icons
« am: Dezember 11, 2010, 20:14:23 »
Hi,
ich würde das Standart Menü gerne so umbauen das nur noch das Gold Window und Command Windows zu sehen ist. Dazu soll vor jedem Menüpunkt im Command Window sowie vor der Anzahl der Goldstücke ein Icon stehen.

Das der Statusscreen weg ist dürfte ich auch noch selber hinbekommen aber das mit den Icons leider nicht.


Re: Menü mit Icons

Offline PDM

  • Bibliothekar
  • Global Mod
  • VX-Kenner
  • ****
  • Beiträge: 468
    • Mein Blog
Re: Menü mit Icons
« Antwort #1 am: Dezember 11, 2010, 20:55:08 »
Der Befehl für das Anzeigen eines Icons per Script lautet:
draw_icon(icon_index, x, y, enabled = true)icon_index = Nummer des Icons
X = X-Position im Window
Y = Y-Position im Window

Falls du es dennoch nicht hinbekommst, kann ich dir gerne weiterhelfen.
Aber ich meine, das es so etwas auch schon gibt.
PDM's Gameplays
Skype-Name: lordpdm

Re: Menü mit Icons

Offline Akwa

  • Ralph
  • *
  • Beiträge: 18
    • Akwadesign
Re: Menü mit Icons
« Antwort #2 am: Dezember 11, 2010, 21:05:30 »
Kann schon sein das es das gibt aber erstmal danke für die Antwort.
Wo muss ich das ganze jetzt einfügen?

Und den Icon Index finde ich ja mit diesem Icon Viewer heraus oder?


Re: Menü mit Icons

Offline PDM

  • Bibliothekar
  • Global Mod
  • VX-Kenner
  • ****
  • Beiträge: 468
    • Mein Blog
Re: Menü mit Icons
« Antwort #3 am: Dezember 11, 2010, 23:15:07 »
Also ich habe jetzt mal schnell was geschrieben, da das mit den Icons zu den richtigen Menüpunkte wahrscheinlich etwas zu schwer für dich sein dürfte.
Spoiler for Hiden:
module Akwa
  GOLDICON = 205
  ICON1 = 2
  ICON2 = 3
  ICON3 = 4
  ICON4 = 5
  ICON5 = 6
  ICON6 = 7
end

class Scene_Menu < Scene_Base
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end

  def start
    super
    create_menu_background
    create_command_window
    @gold_window = Window_Goldakwa.new(0, 360)   
  end

  def terminate
    super
    dispose_menu_background
    @command_window.dispose
    @gold_window.dispose
  end

  def update
    super
    update_menu_background
    @command_window.update
    @gold_window.update   
      update_command_selection
  end

  def create_command_window
    s1 = Vocab::item
    s2 = "Fähigkeiten"
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = "Speichern"
    s6 = Vocab::game_end
    c1 = Akwa::ICON1
    c2 = Akwa::ICON2
    c3 = Akwa::ICON3
    c4 = Akwa::ICON4
    c5 = Akwa::ICON5
    c6 = Akwa::ICON6
    @command_window = Window_Commandakwa.new(190, [s1, s2, s3, s4, s5, s6], [c1, c2, c3, c4, c5, c6])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
      @command_window.draw_item(2, false)     # Disable equipment
      @command_window.draw_item(3, false)     # Disable status
    end
    if $game_system.save_disabled             # If save is forbidden
      @command_window.draw_item(4, false)     # Disable save
    end
  end

  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # Item
        $scene = Scene_Item.new
      when 1  # skill
        $scene = Scene_Skill.new(0)       
      when 2  # equipment
        $scene = Scene_Equip.new(0)
      when 3  # status
        $scene = Scene_Status.new(0)
      when 4      # Load
        $scene = Scene_File.new(true, false, true)     
      when 5      # End Game
        $scene = Scene_End.new
      end
    end
  end
end

##########################################################
class Window_Commandakwa < Window_Selectable
  attr_reader   :commands               
  attr_reader   :icondraw
  def initialize(width, commands, icondraw, column_max = 1, row_max = 0, spacing = 32)
    if row_max == 0
      row_max = (commands.size + column_max - 1) / column_max
    end
    super(0, 0, width, row_max * WLH + 32, spacing)
    @commands = commands
    @icondraw = icondraw
    @item_max = commands.size
    @column_max = column_max
    refresh
    self.index = 0
  end

  def refresh
    self.contents.clear
    for i in 0...@item_max
      draw_item(i)
    end
  end

  def draw_item(index, enabled = true)
    rect = item_rect(index)
    rect.x += 34
    rect.width -= 8
    self.contents.clear_rect(rect)
    self.contents.font.color = normal_color
    self.contents.font.color.alpha = enabled ? 255 : 128
    draw_icon(@icondraw[index], 4,index*24, enabled = true)
    self.contents.draw_text(rect, @commands[index])
  end
end

##########################################################
class Window_Goldakwa < Window_Base

  def initialize(x, y)
    super(x, y, 160, WLH + 32)
    refresh
  end

  def refresh
    self.contents.clear
    draw_icon(Akwa::GOLDICON, 4,0, enabled = true)
    draw_currency_value($game_party.gold, 4, 0, 120)
  end
end


Im Module kannst du die Icons zu den Punkten wählen, sobald du mehr Menüpunkte (s) machst musst du aller dings auch mehr Iconpunkte machen (c) und dementsprechend auch mehr modulepunkte. Falls das jetzt etwas zu kompliziert erklärt war, frag einfach noch mal nach^^
« Letzte Änderung: Dezember 11, 2010, 23:15:47 von PDM »
PDM's Gameplays
Skype-Name: lordpdm

Re: Menü mit Icons

Offline Akwa

  • Ralph
  • *
  • Beiträge: 18
    • Akwadesign
Re: Menü mit Icons
« Antwort #4 am: Dezember 12, 2010, 13:12:10 »
Also ich habe jetzt mal schnell was geschrieben, da das mit den Icons zu den richtigen Menüpunkte wahrscheinlich etwas zu schwer für dich sein dürfte.
Spoiler for Hiden:
module Akwa
  GOLDICON = 205
  ICON1 = 2
  ICON2 = 3
  ICON3 = 4
  ICON4 = 5
  ICON5 = 6
  ICON6 = 7
end

class Scene_Menu < Scene_Base
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end

  def start
    super
    create_menu_background
    create_command_window
    @gold_window = Window_Goldakwa.new(0, 360)   
  end

  def terminate
    super
    dispose_menu_background
    @command_window.dispose
    @gold_window.dispose
  end

  def update
    super
    update_menu_background
    @command_window.update
    @gold_window.update   
      update_command_selection
  end

  def create_command_window
    s1 = Vocab::item
    s2 = "Fähigkeiten"
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = "Speichern"
    s6 = Vocab::game_end
    c1 = Akwa::ICON1
    c2 = Akwa::ICON2
    c3 = Akwa::ICON3
    c4 = Akwa::ICON4
    c5 = Akwa::ICON5
    c6 = Akwa::ICON6
    @command_window = Window_Commandakwa.new(190, [s1, s2, s3, s4, s5, s6], [c1, c2, c3, c4, c5, c6])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
      @command_window.draw_item(2, false)     # Disable equipment
      @command_window.draw_item(3, false)     # Disable status
    end
    if $game_system.save_disabled             # If save is forbidden
      @command_window.draw_item(4, false)     # Disable save
    end
  end

  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # Item
        $scene = Scene_Item.new
      when 1  # skill
        $scene = Scene_Skill.new(0)       
      when 2  # equipment
        $scene = Scene_Equip.new(0)
      when 3  # status
        $scene = Scene_Status.new(0)
      when 4      # Load
        $scene = Scene_File.new(true, false, true)     
      when 5      # End Game
        $scene = Scene_End.new
      end
    end
  end
end

##########################################################
class Window_Commandakwa < Window_Selectable
  attr_reader   :commands               
  attr_reader   :icondraw
  def initialize(width, commands, icondraw, column_max = 1, row_max = 0, spacing = 32)
    if row_max == 0
      row_max = (commands.size + column_max - 1) / column_max
    end
    super(0, 0, width, row_max * WLH + 32, spacing)
    @commands = commands
    @icondraw = icondraw
    @item_max = commands.size
    @column_max = column_max
    refresh
    self.index = 0
  end

  def refresh
    self.contents.clear
    for i in 0...@item_max
      draw_item(i)
    end
  end

  def draw_item(index, enabled = true)
    rect = item_rect(index)
    rect.x += 34
    rect.width -= 8
    self.contents.clear_rect(rect)
    self.contents.font.color = normal_color
    self.contents.font.color.alpha = enabled ? 255 : 128
    draw_icon(@icondraw[index], 4,index*24, enabled = true)
    self.contents.draw_text(rect, @commands[index])
  end
end

##########################################################
class Window_Goldakwa < Window_Base

  def initialize(x, y)
    super(x, y, 160, WLH + 32)
    refresh
  end

  def refresh
    self.contents.clear
    draw_icon(Akwa::GOLDICON, 4,0, enabled = true)
    draw_currency_value($game_party.gold, 4, 0, 120)
  end
end


Im Module kannst du die Icons zu den Punkten wählen, sobald du mehr Menüpunkte (s) machst musst du aller dings auch mehr Iconpunkte machen (c) und dementsprechend auch mehr modulepunkte. Falls das jetzt etwas zu kompliziert erklärt war, frag einfach noch mal nach^^

Funktioniert super ... das einzigste Problem ist wenn ich nur noch 2 Menüpunkte habe und dann auf Spiel Beenden gehe und das Fenster To Title, Shutdown .... kommt und dann aber ESC drücke und somit zurück zum Menü komme dann steht unter Spiel beenden eine freie Zeile und der 1. Menüpunkt (bei mir Gegenstände) ist nicht mehr Sichtbar


Re: Menü mit Icons

Offline PDM

  • Bibliothekar
  • Global Mod
  • VX-Kenner
  • ****
  • Beiträge: 468
    • Mein Blog
Re: Menü mit Icons
« Antwort #5 am: Dezember 12, 2010, 13:19:15 »
Kann ich dir sagen warum. Das liegt nicht an meinem Script, sondern an der return_scene von Scene_End.
Entweder du änderst in Scene_End Zeile 42 so ab: $scene = Scene_Menu.new(1)oder du schreibst das hier unter mein Script (ganz unten!):
class Scene_End < Scene_Base
  def return_scene
    $scene = Scene_Menu.new(1)
  end
end

In diesem Teil von Scene_End wird nämlich festgelegt, wohin man zurückkehrt, wenn man abbricht. Wenn dort Scene_Menu.new(5) steht, will das Script dorthin, diesen Punkt gibt es aber nicht wirklich. Deshalb muss eine 1 in die Klammer. (aber keine 2, der Script fängt bei 0 an!)
« Letzte Änderung: Dezember 12, 2010, 13:22:07 von PDM »
PDM's Gameplays
Skype-Name: lordpdm

Re: Menü mit Icons

Offline Akwa

  • Ralph
  • *
  • Beiträge: 18
    • Akwadesign
Re: Menü mit Icons
« Antwort #6 am: Dezember 12, 2010, 17:21:45 »
Konnte ich erst jetzt testen ... funktioniert super danke  :haha:
ich habe jetzt aber mal ein anderes problem und zwar bin ich gerade dabei ein Multiplayer Spiel zu "bauen" dafür benutze ich das 2 Player script von woratana.
Jedoch will ich das ganze anders machen da man den 2 Spieler nicht ansteuern kann (z.b. mit Move Route) deshalb mache ich das ganze mit events.

Ein Event welches Parallel läuft wo abgefragt wird welche tasten gedrückt werden (WSAD für die Richtungen) das funktioniert soweit auch ganz gut nur kann ich nicht so präzise laufen wie bei dem 2 Player Script ich laufe immer 1 - 2 Felder weiter wenn man z.b. W drückt obwohl ich nur 1x nach oben eingestellt habe.


So mein Zweites Problem:
Da der 2. Spieler ein Event ist kann der ja nicht über andere Events laufen und diese auch nicht auslösen.


Ich hoffe mir kann hier geholfen werden ... oder kann man den 2. Spieler mit woratanas script auch als Event bauen?


Re: Menü mit Icons

Offline PDM

  • Bibliothekar
  • Global Mod
  • VX-Kenner
  • ****
  • Beiträge: 468
    • Mein Blog
Re: Menü mit Icons
« Antwort #7 am: Dezember 12, 2010, 17:35:55 »
Zu deinem ersten Problem: Hast du einen Wait-Befehl zwischen der Tastenabfrage?
Zweites Problem: das ist sehr kompliziert, aber das könnte zu schaffen sein. Muss mal ein wenig rumprobieren.
PDM's Gameplays
Skype-Name: lordpdm

Re: Menü mit Icons

Offline Akwa

  • Ralph
  • *
  • Beiträge: 18
    • Akwadesign
Re: Menü mit Icons
« Antwort #8 am: Dezember 12, 2010, 17:43:20 »
Nein weil dann geht er einen schritt und bleibt stehen und läuft dann weiter


 


 Bild des Monats

rooftop party

Views: 3615
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal