RPG Maker Wiki
Advertisement
RMXP.Scene Menu

Scene em execução.

A Scene_Menu dá acesso a várias Scenes do jogo, tais como a Scene_Item, a Scene_Save, a Scene_End, a Scene_Skill, etc. Nela é possível verificar os status de todos os personagens, usar ítens, magias e equipamentos, salvar e sair do jogo.

Variáveis de Instância[]

  • @menu_index - Define qual opção deve estar selecionada ao abrir o menu.
  • @command_window - Instância da classe Window_Command. Representa a janela de opções ("Item", "Habilidade", "Equipamento", "Status", "Salvar" e "Fim de Jogo")
  • @playtime_window - Instância da classe Window_PlayTime. Representa a janela de contagem de tempo de jogo.
  • @steps_window - Instância da classe Window_Steps. Representa a janela de contagem de passos.
  • @gold_window - Instância da classe Window_Gold. Representa a janela de contagem de dinheiro.
  • @status_window - Instância da classe Window_MenuStatus. Representa a janela de status e de seleção de personagem (caso sejam escolhidas as opções Habilidade", "Equipamento" ou "Status").

def initialize[]

O método initialize é executado pelo método new quando a instâcia é criada.

Método "initialize".

Linhas 16
A opção que deve ser selecionada é salva.

def main[]

O método main, presente em toda Scene, faz a execução de carregamento de seus componentes e o descarregamento dos mesmos, além de possuir um ciclo, que invoca continuamente o método update.

Método "main".

Linhas 24~32
O menu de opções é criado e a opção selecionada definida.

Linhas 33~45
Se não houver jogadores no grupo algumas opções são desabilitadas. Se não for permitido salvar, também desativa a opção de "Salvar".

Linhas 46~61
As janelas Window_PlayTime, Window_Steps, Window_Gold e Window_MenuStatus são criadas e posicionadas.

Linhas 62~78
Ciclo continuo que atualiza a Scene pelo método update. Pára apenas quando outra Scene é iniciada.

Linhas 79~84
Todo o conteúdo visual e destruído para dar inicio à próxima Scene.

def update[]

O método update, presente em toda Scene, é executado a cada frame e é responsável pela atualização dos elementos gráficos da Scene.

Método "update"

Linhas 92~107
Todas as janelas são atualizadas. No caso da janela de comando e da janela de status, são atualizadas chamando os métodos update_command e update_status, respectivamente, se estiverem ativas.

def update_command[]

O método update é chamado pelo método update se a janela de comando estiver ativa. Esse método atualizará essa janela.

Método "update_command"

Linhas 115~122
Se a Tecla B for pressionada, volte para o mapa.

Linhas 123~131
Se a Tecla C for pressionada... Não tendo nenhum personagem no grupo e sendo a opção selecionada uma das primeiras, toque som de erro e volte.

Linhas 132~178
Uma ação diferente é feita para cada uma das opções selecionadas. Se for"Item", "Salvar" ou "Fim de Jogo", apenas encaminhe para a Scene_Item, Scene_Save ou Scene_End, respectivamente. No case do "Salvar", é ainda verificado se salvar é permitido. Se for "Habilidades", "Equipamentos" ou "Status", a janela de comando será desativada e a janela de status (que será usada para escolher um dos personagens) será ativada.

def update_status[]

O método update é chamado pelo método update se a janela de status estiver ativa. Esse método atualizará essa janela.

Método "update_status"

Linhas 186~195
Se a Tecla B for pressionada, desative a janela de status e re-ative a de comando.

Linhas 196~223
Se a Tecla C for pressionada, uma ação diferente é feita dependendo de qual opção está selecionada na janela de opções. Em todos os casos a Scene relativa a cada opção é iniciada, passando como argumento o número do personagem no grupo. No caso de "Habilidades", é verificado se o personagem está impossibilitado de utilizar magias por efeito de status negativos.

Advertisement