Turbo Makers

O mais novo fórum relacionado a RPG Maker.
 
InícioInício  PortalPortal  FAQFAQ  BuscarBuscar  Registrar-seRegistrar-se  MembrosMembros  GruposGrupos  LoginLogin  

Compartilhe | 
 

 Menu de Selecao por Evento

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
SkullKid
Colaborador
Colaborador


Mensagens : 19
Data de inscrição : 25/08/2007
Idade : 22
Localização : Na frente do Pc

MensagemAssunto: Menu de Selecao por Evento   Sab Ago 25, 2007 2:33 am

--------------------------------------------------------------------------------
Este tutorial tem como objetivo ensinar como se faz um menu de seleções atravéz de eventos.
O uso desse pode ser ilimitado, bastando usá-lo com criatividade.
Você pode usa-lo pra criar desde uma simples opção de escolha menino/menina, até coisas mais avançadas. No meu projeto por exemplo, usei ele para criar um menu de seleção de mapas.

Ferramentas utilizadas:
Eventos Comuns.
Variáveis.
Switch.(Opicional)
Labels.
Condições.(Branch)
Pictures.(Opicional)

Para começar você tem que criar uma tela de seleção, fica seu critério como vai ser (na demo tem 2 exemplos, um usando pictures outro usando tilestes e eventos), e dois Eventos Comuns.

O primeiro é o evento de seleção (Irei chama-lo de Evento Principal)
O segundo segundo é o evento de Atuaização de Imagens (que irei chamrde Evento de Atualização).

No Inicio do Evento você deve abrir o menu: Chame as pictures e/ou teleporte o personagem para o mapa do evento.

Importante: caso você use um outro mapa para o evento, siga o seguinte procedimento: (Esses são os comandos de Evento na ordem que deve ser usados, os nomes estão de acordo com o RMXP 1.02br)

Citação :


<>Preparar Transição
<>Mover Evento: Personagem
:...................... : Opacidade : 0
<>Opções de Variavel: [Variável A] = 1
<>Opções de Variavel: [Variável B] = ID do Mapa
<>Opções de Variavel: [Variável C] = Personagem - Coordenada X
<>Opções de Variavel: [Variável D] = Personagem - Coordenada Y
<>Local de Movimento: [Mapa do Menu]
<>Evento Comun: Evento de Atualização
<>Executar Transição


A [Variável 1] será a variável de seleção.
As Variáveis [Variável B], [Variável C], [Variável D] serão usadas para gravar a posição do Pesonagem.

Evento de Atualização:
Sempre que uma seleção for feita, esse evento deverá ser chamado.
esse evento é bem simples. No início dele você deve "Cancelar" todas as seleções. Após os eventos de "Cancelar", você deve usar condições que "Marquem" a seleção. Isso deve ser feito de acordo com a variável, aqui chamada de [Variável A]. (Se o valor da [Variável A] for 1, "Acende" a opção 1; Se o valor da [Variável A] for 2, "Acende" a opção 2...)

Exemplo: na demo que eu postei, quando um personagem não está selecionado, é exibido uma sombra dele apenas. então no inicio do evento eu coloquei para todas as imagens serem sombras.
Na demo ficou assim:
Citação :


<>Mostrar Imagem: 2 'f01-sombra' Esq-Dir (150,200), (100%,100%),255,Normal
<>Mostrar Imagem: 3 'f02-sombra' Esq-Dir (300,200), (100%,100%),255,Normal
<>Mostrar Imagem: 4 'f03-sombra' Esq-Dir (450,200), (100%,100%),255,Normal
<>Condição: Variável [Variável A] == 1
....<>Mostrar Imagem: 2 'f01' Esq-Dir (150,200), (100%,100%),255,Normal
....<>
: FIM
<>Condição: Variável [Variável A] == 2
....<>Mostrar Imagem: 3 'f02' Esq-Dir (300,200), (100%,100%),255,Normal
....<>
: FIM
<>Condição: Variável [Variável A] == 3
....<>Mostrar Imagem: 4 'f03' Esq-Dir (450,200), (100%,100%),255,Normal
....<>
: FIM
<>


Evento Principal:
Agora começa o trabalho com Labels.
Para aqueles que não sabem usá-las vou fazer uma pequena explicação.
Exitem duas opções de Label: Label e Ir para Label. Elas servem como uma "ponte" de ligação: quando o evento chega no comando "Ir para Label" ele vai até onde esta a Label correspondente e continua o evento a partir daquele ponto.
Neste evento ele será usado da seguinte forma: No inicio do evento (logo após a transição) será adicionada uma Label (que será chamada Label: Inicio, fique atento com o nome, pois é ele que define a ligação entre os comandos de Label).

No caso, após o comando "Executar Transição" adicione o comando Label: Inicio e após a label adicione um Esperar: 2 Frames. (Esse comando de espera é Essencial)
O evento fica assim:
Citação :


<>Executar Transição
<>Label: Inicio
<>Esperar : 2 Frames


No FIM do evento, você deve adicionar o seguinte comando:
Citação :

<>Label: Inicio

Para assim o evento se repetir até que a seleção seja feita.

Fazendo a seleção:
Para que você possa mudar o valor da varável. deverá ser usado uma nova condição:
Citação :


<>Condição: Script: input.press?(**)

o valo de ** é valor da tecla que será usada. Os valores são os seguintes:
Citação :


2 = Seta Baixo
4 = Seta Esquerda
6 = Seta Direita
8 = Seta Cima
11 = Shifit ou Z
12 = Esc, Insert, X, 0 (zero do teclado numérico)
13 = Enter, Espaço, C
14 = A
15 = S
16 = D
17 = Page Up, Q
18 = Page Down, W

Então fica a seu cargo escolher que tecla usar.
Seguindo o exemplo da Demo, vou usar as setas direita e esquerda para selecionar, e a tecla c/Enter para confirmar.

Selecionando:
A seleção é feita atravéz de do valor da [Variável A], por isso esse evento tem que mudar o valor dela. Eu decidi usar os valores 1, 2 e 3.
Variável A = 1 personagem Ash
Variável A = 2 personagem Nina
Variável A = 3 personagem Trevor

Para mudar o personagem selecinado deve se apertar para direita ou esquerda nas setas. Então:
Citação :


<>Condição: Script: input.press?(6)

seleciona o personagem a direita, pela ordem que eu defini, aumenta o valor da Variável A. Então:
Citação :


<>Condição: Script: input.press?(6)
.....<>Opções de Variável: [Variável A] += 1 (Adiciona +1 a Variável A)


como só são 3 opções, então a variável não pode passar de 3. Por isso, se o valor for maior que 3 a variavel deve retornar a um valor menor.
No exemplo eu coloquei ela retornando a 1, assim repetindo o ciclo.
Citação :


<>Condição: Script: input.press?(6)
.....<>Opções de Variável: [Variável A] += 1
.....<>Condição:Variável [Variável A] > 3
.........<>Opções de Variável: [Variável A] = 1
.........<>
.....: FIM


E como eu falei anteriormente, Sempre que uma Selção for feita, o Evento de Atualização deverá ser chamdo, logo após ele vc deve por um tempo de espera (2 ou 3 frames), você pode colocar támbem um efeito sonoro antes da espera:
Citação :


<>Condição: Script: input.press?(6)
.....<>Opções de Variável: [Variável A] += 1
.....<>Condição:Variável [Variável A] > 3
.........<>Opções de Variável: [Variável A] = 1
.........<>
.....: FIM
.....<>Evento Comum: Evento de Atualização.
.....<>Reproduzir SE: '001-System01', 80, 100
.....<>Esperar : 3 Frames


Citação :


<>Condição: Script: input.press?(4)

seleciona o personagem a esquerda, pela ordem que eu defini, diminui o valor da Variável A.
É o mesmo esquema que o anterior, so que diminuindo o valor da Variával A. Se ela ficar menor que 1, vc deve definir um novo valor (no caso eu coloquei como 3)
Citação :

<>Condição: Script: input.press?(4)
.....<>Opções de Variável: [Variável A] -= 1
.....<>Condição:Variável [Variável A] < 1
.........<>Opções de Variável: [Variável A] = 3
.........<>
.....: FIM
.....<>Evento Comum: Evento de Atualização.
.....<>Reproduzir SE: '001-System01', 80, 100
.....<>Esperar : 3 Frames


Agora que a seleção foi feita, falta confirmar. Você pode definir a tecla que quiser para confirmação, eu irei usar a tecla padrão de confirmação

O mais importante é que no final dessa Condição você ponha o comando Ir para Label: Fim. Assim você interrompe o ciclo que vc criou com a Label: Inicio. e o evento termina.
Entre o inicio da condição e o comando Ir para Label: Fim você deve colocar o efeito da sua seleção. No caso da demo, selecionar o personagem escolhido. Você pode colocar uma opção de confirmação, mas cuidado! Não se esqueça, que caso faça isso, você deve adicionar um comando Ir para Label: Inicio caso a escolha seja "Não" ou caso seja cancelada a pergunta.
Citação :


<>Condição: Script: input.press?(13)
.....<>
.....<>(entre o inicio da condição e o comando Ir para Label : Fim)
.....<>(você deve colocar o resultado da seleção de acordo com os valores das Variáveis)
.....<>
.....<>Ir para Label : Fim
.....<>
<>



No fim do evento, APÓSo comando Ir para Label: Inicio, adicione o comando Label : Fim.

Agora para finalizar, depois do comando Label : Fim você deve remover todas as pictures relacionadas ao evento de seleção.
Se você moveu o personagem para outro mapa, você deve movê-lopara o mapa de origem, usando as variáveis que ficaram gravadas e tirar sua transparência.
Citação :

<>Preparar Transição
<>Local de Movimento : Variável [Variável B][Variável D][Variável D]
<>Mover Evento: Personagem
:...................... : Opacidade : 255
<>Preparar Transição



Bem isso é só o basico, com paciencia e criatividade você pode criar janelas de seleção com muito mais opções e detalhes.
Voltar ao Topo Ir em baixo
Ver perfil do usuário http://www.imagevisiondesing.com
Under
Ocasional
Ocasional


Mensagens : 32
Data de inscrição : 21/03/2008

MensagemAssunto: Re: Menu de Selecao por Evento   Sex Mar 21, 2008 9:54 pm

Nossa é meio imbaraçado mais ta Legalllllll....
Voltar ao Topo Ir em baixo
Ver perfil do usuário
 
Menu de Selecao por Evento
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» [engine] Super Menu Tk_Mouse 8D
» Como bloquear um evento/objeto?
» Hyper Menu 2.0
» Menu apontado por setas usando imagens
» Simples sistema de menu 1.0

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Turbo Makers :: RPG Maker XP :: Tutoriais de RMXP-
Ir para: