O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Duvida no Mostrar Escolhas?

Iniciado por Feruleo, 25/05/2013 às 10:24

25/05/2013 às 10:24 Última edição: 25/05/2013 às 13:17 por Feruleo
Queria saber se da para mudar a tela de escolhas de lugar?

Tem sim, parceiro.
No script Window_ChioiceList entre as linhas 31 e 41 é
onde se arruma o posicionamento. Mas lá existe meio
que uma esqueção. Se já souber aonde quer a jenala,
posso tentar mudar pra tu.
  :ok:

25/05/2013 às 12:16 #2 Última edição: 25/05/2013 às 12:19 por Feruleo
Eu ja tinha achado isso, mas quando troquei o numero diminuiu o tamanho? não sei se
troquei o certo. E no [max_choice_width + 12, 96] que muda?

Não, não, essa linha aí influencia na largura.

Essa daqui, é a 35, nela você mexe em x:

    self.x = Graphics.width - width


E essa condição aqui verifica a posição da janela de mensagem pra mexer no y:
    if @message_window.y >= Graphics.height / 2
      self.y = @message_window.y - height
    else
      self.y = @message_window.y + @message_window.height
    end

25/05/2013 às 12:25 #4 Última edição: 25/05/2013 às 12:26 por King Gerar
Certo tentei e apareceu isso:

Spoiler
[close]

É porque... não é só questão de mudar um número.
É que... como disse, isso é meio que uma esquação, se
mexer em um número vai mudar em mais coisas e tals.
E pode ser que não mude só nesse script.

Seria bom entender a lógica, ao menos dessa parte
primeiro antes de mexer, ou se quiser, só fala aí aonde
quer a janela de escolhas que eu tento mudar.
  :XD:

Queria ela no topo do lado direito.


25/05/2013 às 12:35 #8 Última edição: 25/05/2013 às 12:55 por Feruleo
Exatamente!! :wow:

Hehe... tá ai então, man. Substitua o script todo por esse, ok!?

#==============================================================================
# ** Window_ChoiceList
#------------------------------------------------------------------------------
#  Esta janela é utilizada para o comando de eventos [Mostrar Escolhas]
#==============================================================================

class Window_ChoiceList < Window_Command
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #     message_window : janela de mensagem
  #--------------------------------------------------------------------------
  def initialize(message_window)
    @message_window = message_window
    super(0, 0)
    self.openness = 0
    deactivate
  end
  #--------------------------------------------------------------------------
  # * Inicialização do processo
  #--------------------------------------------------------------------------
  def start
    update_placement
    refresh
    select(0)
    open
    activate
  end
  #--------------------------------------------------------------------------
  # * Atualização da posição da janela
  #--------------------------------------------------------------------------
  def update_placement
    self.width = [max_choice_width + 12, 96].max + padding * 2
    self.width = [width, Graphics.width].min
    self.height = fitting_height($game_message.choices.size)
    self.x = Graphics.width - width
    self.y = 0
  end
  #--------------------------------------------------------------------------
  # * Aquisição da largura máxima das escolhas
  #--------------------------------------------------------------------------
  def max_choice_width
    $game_message.choices.collect {|s| text_size(s).width }.max
  end
  #--------------------------------------------------------------------------
  # * Cálculo da altura do conteúdo da janela
  #--------------------------------------------------------------------------
  def contents_height
    item_max * item_height
  end
  #--------------------------------------------------------------------------
  # * Criação da lista de comandos
  #--------------------------------------------------------------------------
  def make_command_list
    $game_message.choices.each do |choice|
      add_command(choice, :choice)
    end
  end
  #--------------------------------------------------------------------------
  # * Desenho de um item
  #     index : índice do item
  #--------------------------------------------------------------------------
  def draw_item(index)
    rect = item_rect_for_text(index)
    draw_text_ex(rect.x, rect.y, command_name(index))
  end
  #--------------------------------------------------------------------------
  # * Definição de cancelamento
  #--------------------------------------------------------------------------
  def cancel_enabled?
    $game_message.choice_cancel_type > 0
  end
  #--------------------------------------------------------------------------
  # * Chamada de controlador de confirmação
  #--------------------------------------------------------------------------
  def call_ok_handler
    $game_message.choice_proc.call(index)
    close
  end
  #--------------------------------------------------------------------------
  # * Chamada de controlador de cancelamento
  #--------------------------------------------------------------------------
  def call_cancel_handler
    $game_message.choice_proc.call($game_message.choice_cancel_type - 1)
    close
  end
end