🤔 Para Refletir :
"O poder da criação está em suas mãos, escreva sua própria história e abra as portas para aventuras inesquecíveis."
- Versyoh

Aula #1: Labels

RyanKamos

Coração Valente
Membro
Membro
Juntou-se
01 de Abril de 2015
Postagens
2.540
Bravecoins
22
ubAJxTp.png


Aula #1: Labels
~RPG Maker~


Sejam todos bem vindos à Academia de Eventos!
Hoje estarei iniciando a primeira aula sobre eventos com um tema bem legal e que utilizo muito em meus sistemas:
Labels.​

Label é basicamente uma Tag onde ocorrerá um processo.
Gosto de dizer que ela se parece muito com "def" de scripts, mas especificamente o Ruby do RPG Maker.
Com ela você pode definir comandos que só entrarão em ação caso você chame em um mesmo evento, sem precisar separar em páginas.
O comando label funciona juntamente ao comando Chamar Label. Este segundo você utiliza para direcionar o sistema para esta label.
Meio complicado não é mesmo? Na verdade não. Apesar de aparentar um bicho de 7 cabeças é algo bem simples que explicarei passo à passo.

*Abra o maker e vamos ao trabalho*

Começaremos primeiro aplicando uma label à um objeto simples:
Faremos uma pergunta e dependendo da resposta guiaremos para uma label.

Etapa 1
50N3DGf.png


Aplicamos a label em cada uma das respostas que você poderia dar e logo depois guiamos
elas para seus respectivos locais. Bem fácil não?

Veja como ficou no jogo:

ahwUFHD.gif


Hm... parece que algo ficou errado. Sabe o que ocorreu?
Quando guiamos o evento para a label ela prossegue a partir dali, então,como criamos uma
label abaixo, acabou dando errado.
Vamos melhorar isso.


Etapa 2
Para fazer o sistema correr certinho é preciso fazer o evento entender que ele deve finalizar logo após passar pela label. Existem duas formas práticas de fazer isso: Utilizar novamente labels ou Parar o Processamento do Evento.

927DmKY.png


VAWk1QH.png


Não precisei repetir o "Parar Processamento" na label "Não" e nem colocar um "Ir para label 'End' ",
pois o evento já se encontrava no final.

Qual a diferença entre eles? Qual utilizar?
Você pode utilizar o "Parar Processamento" para eventos normais que estão no mapa e o "Ir para Label" em eventos comuns, pois são essenciais. Explicarei logo logo.


O que aprendemos com isso? Bem, entendendo como funciona as labels você abre uma nova possibilidade de criação de eventos, algo mais prático e eficiente.
Você pode utilizar estas labels para checar comandos de um menu, para checar certas variáveis do jogo apenas quando requerido e muito mais, tudo isso em apenas um evento.
Abaixo utilizaremos ela para criar um evento comum.

Na demo você poderá conferir as etapas do evento acima separadas por páginas e em uma variável.
Etapa 1
Para entendermos melhor como utilizá-la em nossos sistemas, faremos um pequeno sistema que checa automaticamente seu dinheiro e caso esteja abaixo de 20, ele fará ele voltar a ter 20.

59wv3pz.png


O sistema será feito em um Evento Comum como Processo Paralelo, necessitando de um evento para ativar.
Iniciaremos o sistema criando as labels e uma condição para checar.
Dessa vez teremos uma label inicial chamada "Begin", esta servirá para sempre que quisermos fazer o sistema voltar ao início.
Logo depois colocaremos "Esperar 1 Frame", pois todo sistema precisa respirar. Este tempo fará o sistema ter seu espaço no jogo e não interrompa outros.
E adicionaremos a condição para checar seu dinheiro. Dentro desta condição guiaremos o sistema para a label "Gold" que está no final de tudo.
Coloque um "Ir para label 'Begin' " para fazer o sistema ficar retornando até você se encaixar na condição e coloque a label "Gold" no final.


Etapa 2
Agora iremos adicionar o dinheiro ao personagem quando estiver abaixo de 20.

08BVe6Q.png


Repetiremos praticamente tudo feito acima, porém adicionando o dinheiro e direcionando à label "Begin".
Abaixo da label "Gold" adicione novamente um "Esperar 1 Frame" para o evento não interromper outros e coloque para adicionar +1 Gold.
Crie uma condição para checar seu Gold, porém desta vez iremos checar se ele está com 20 ou acima.
Dentro desta condição iremos colocar para retornar ao começo do sistema, pois você já restabeleceu os 20 Gold.
Coloque um "Ir para label 'Begin' " dentro desta condição e depois da condição coloque um "Ir para label 'Gold' " para continuar lhe dando dinheiro até você ter 20G.


Etapa 3
O sistema já está feito. Pode checar que você jamais terá menos de 20G (um sonho realizado).
Porém podemos deixar o sistema um pouco mais funcional e divertido, o que acha?
Que tal adicionar um popup do Gold sendo adicionado e sendo adicionado aos poucos?

8agxN1j.png


Mudaremos algumas coisas:
- Na label "Begin" quando checar seu dinheiro direcionaremos para "Popup" e não para "Gold";
- No final da label "Gold" iremos direcionar para "Popup" e não para "Gold" novamente.
Feito essas mudanças, iremos criar o popup.
Crie uma label para o Popup e nela cheque a posição X e Y da tela do seu personagem com variáveis.
Subtraia o valor de X em 35 e o de Y em 64, isso fará a imagem centralizar acima do herói.
Coloque para mostrar a imagem com a coordenada destas variáveis e com opacidade 0, pois ela irá ter um fade.
Agora basta diminuir o valor de Y em 10 para a imagem ter um efeito subindo e mostrar a imagem.
No final direcione para a label Gold.

Foi utiliza esta imagem na Pasta Picture:
j2S7Z23.png

O que aprendemos?
Aprendemos à utilizar as labels tanto para funções básicas quanto para complexas, criando um ciclo para checar certos acontecimentos.
É possível utilizar esta forma de criação de eventos em qualquer tipo de sistema, possibilitando um maior controle sobre ele.

Para finalizar a aula, estarei deixando alguns desafios para quem quiser treinar um pouco.
Desafios dão Bravecoins e pontos para adquirir conquistas.
Aguardo a participação de todos e um bom feedback aqui.
Quanto mais participações tiver, mais novidades estarei trazendo.

Aqui está o download a Aula #1 em aberto para você checar o sistema e como foi feito:
[descarga]https://www.dropbox.com/s/ofo5tcssegjg2z1/Academia%20de%20Sistemas.exe?dl=0[/descarga]

Publicarei as aulas toda semana entre Quarta/Quinta/Sexta.
Até a próxima aula pessoal \o/​
 
Poxa Titio Ryan, que tópico estupidamente agradável, é serio, eu realmente adorei a organização do fórum, acho muito massa você se esforçar para explicar detalhadamente, sendo que muitos nem vão ler, eu realmente valorizo o seu esforço, vou reler o tópico, no caso de achar algum erro, ou da alguma sugestão, para manter o fórum com um conteúdo sempre impecável, e bem, talvez se eu não tivesse aprendido sobre isso, provavelmente iria aprender agora, isso vai ajudar muito quem precisa, continue, estamos precisando de tópicos como esse mesmo!
 
Tinha coisa que eu realmente não sabia  :Kawai_Desu:, isso deixa mais prático e algumas vezes até mais viável.
 
Uma aula incrível, muito bem explicada parabéns pelo ótimo trabalho continue assim...
 
Titio Ryan...lol
Só não faço o desafio pq não vai dar tempo, do jeito que eu sou
Mas então, parece que é uma ótima aula (eu não vi ela toda), mas costumo mexer com labels pra fazer sistemas com eventos, e acho que ela vai ser útil. :Plano:

Valeu, falooooou!!
 
Voltar
Topo Inferior