Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte ao desenvolvimento de jogos


2 participantes

    Sistema de lanterna como em Pokémon

    DevWithCoffee
    DevWithCoffee
    Membro Ativo
    Membro Ativo


    Mensagens : 294
    Créditos : 54

    Ficha do personagem
    Nível: 1
    Experiência:
    pokemon - Sistema de lanterna como em Pokémon Left_bar_bleue0/0pokemon - Sistema de lanterna como em Pokémon Empty_bar_bleue  (0/0)
    Vida:
    pokemon - Sistema de lanterna como em Pokémon Left_bar_bleue30/30pokemon - Sistema de lanterna como em Pokémon Empty_bar_bleue  (30/30)

    pokemon - Sistema de lanterna como em Pokémon Empty Sistema de lanterna como em Pokémon

    Mensagem por DevWithCoffee Qui maio 06, 2021 2:25 am

    Antes de tudo, me desculpe qualquer erro, raramente escrevo tutoriais de passo à passo, mas achei mais pratico do que criar só uma demonstração, pois nela explico alguns aspectos diferentes do funcionamento do MV em comparação à algumas versões anteriores.
    Presumo que funcione com o MZ também.

    Créditos: Não é necessário
    (O foco é usar como base de estudo para algo melhor)

    Download da versão demo (Consegui deixar bem leve):
    MEDIAFIRE
    Está em formato de projeto para poder editar.






    Tutorial:
    Eu usei imagens para facilitar quem usar o RMMV em outro idioma, assim basta ver a posição dos objetos na tela.

    Primeiro crie ou importe para pasta Pictures a imagem que cobrirá a visão do mapa.
    Dependendo do tamanho da janela, ela deve ter o dobro de largura e de altura, e no centro um circulo transparente de aproximadamente 64x64.
    Veja na pasta do jogo um exemplo.

    Para iniciar teremos que criar 4 eventos comuns:

    1. Cria a escuridão da caverna logo após a transferência de mapa
    2. Faz com que a Picture de escuridão siga o jogador
    3. Apaga a Picture dando à impressão de que iluminou o ambiente
    4. Faz a escuridão sumir caso o jogador saia da caverna e não tenha usado o "Flash"





    Evento Comum - Criação de escuridão:
    Nomeie como "Enter-Cave", ele será chamado ao entrar em uma dungeon, deixe o Trigger em "None".
    Dentro do evento crie duas variaveis que gravem a posição X e Y do jogador na tela (Diferente de coordenadas):
    Código:
    ◆Control Variables:#XXXX Dark-ScreeX = Screen X of Player
    ◆Control Variables:#XXXX Dark-ScreeY = Screen Y of Player

    Agora você precisará compensar a posição Y pra que não cubra parte da cabeça dele:
    Código:
    ◆Control Variables:#0020 Dark-ScreeY -= 24

    Neste momento vai ser um pouco mais detalhado, após selecionar a imagem que você baixou em anexo escolha a ID da imagem exclusiva para essa efeito, no meu caso coloquei a ID 20.
    A origem deve ser do centro e por último as posições devem ser pelas variáveis criadas antes:
    pokemon - Sistema de lanterna como em Pokémon Flasha10

    Agora crie uma Switch para ativar o próximo evento comum, nomeie como quiser, essa é a única que será criada.
    E já a defina para ativar ao final deste evento, no final ficará assim:
    pokemon - Sistema de lanterna como em Pokémon Flashb10




    Evento Comum - Escuridão segue a posição do jogador:
    Novamente nomei como quiser, este deve estar com o Trigger em "Parallel" e ativo pela Switch criada na etapa anterior, você pode copiar do evento anterior as operações de variáveis.
    Este evento serve para calcular constantemente a posição do jogador na tela, só que ao invés de mostrar a Picture vamos usar "Mover Picture" para evitar lag, neste deve seguir os mesmo parâmetros do anterior, mas aqui você terá que definir a duração, eu aconselho 1 frame e que habilite a opção "Wait":
    pokemon - Sistema de lanterna como em Pokémon Flashc10
    (Você pode mudar isso se achar que fica mais fluido)




    Evento Comum - Item lanterna:
    Nomeie como "Enter-Cave", ele será chamado ao usar o item pelo menu de inventário, deixe o Trigger em "None".
    Aqui será necessário criar uma "Ramificação Condicional", ou como é chamado em programa "IF".
    Nele você deve colocar a primeira opção "Switch", coloque a que criamos antes e mude para OFF.
    Habilite a opção "Criar Exceção":
    pokemon - Sistema de lanterna como em Pokémon Flashd10

    Código:
    ◆If:Dark Place is OFF
      ◆
    :Else
      ◆
    :End

    Dentro da IF coloque um texto para que o jogador veja que não pode usar o item caso não esteja em uma caverna ou já esteja usando o item:
    Código:
    "Este item não pode ser usado neste momento"

    Na exceção coloque para desligar a Switch.
    Coloque um Wait de 10 frames (Isso corrige um problema com o processo paralelo do evento anterior)
    E coloque o comando de evento "Erase Picture" para a ID usada nos anteriores (No caso da tutorial foi a 20).
    Pra deixar um efeito mais bonito eu inclui antes um "Move Picture" que faz:

    • Scale -> Widht: 1000%
    • Scale -> Height: 1000%
    • Blend -> Opacity: 0
    • Duration: 30 frames
    • Wait: Habilitado

    pokemon - Sistema de lanterna como em Pokémon Flashe10




    Evento Comum - Sair da caverna:
    Nomeie como "Exit-Cave", ele será chamado ao sair de uma Dungeon, deixe o Trigger em "None".
    Dentro dele desligue a Switch.
    Coloque um Wait de 10 frames, para dar tempo do processo paralelo parar.
    E por fim, apague a Picture:
    pokemon - Sistema de lanterna como em Pokémon Flashf10




    Criação do item lanterna:
    Agora vamos criar o item que vai representar a lanterna, mas você pode criar uma "Skill" que faça o mesmo processo.
    Abra o banco de dados, vá até o menu "Items" e crie um novo, nomeio como quiser.
    Para que o jogador sempre possa usar altere o "Consumable" para "No".
    Em "Occasion" selecione a opção "Menu Screen", assim o jogador não poderá usar em batalha, por que não teria efeito.
    pokemon - Sistema de lanterna como em Pokémon Flashg10

    Em "Effects" adicione um novo item clicando duas vezes:
    pokemon - Sistema de lanterna como em Pokémon Flashh10

    Vai aparecer uma janela, navegue até a aba "Other" e selecione a ultima opção "Common Event".
    Nela localize o evento "Item Flash".
    pokemon - Sistema de lanterna como em Pokémon Flashi10




    Criação da transferência de entrada da caverna:
    Apenas defina a transferência para dentro da caverna e por ultimo chame o evento comum "Enter-Cave":
    pokemon - Sistema de lanterna como em Pokémon Flashj10




    Criação da transferência de saída da caverna:
    Aqui apenas crie uma transferência para fora da cavernas e em seguida chame o evento "Exit-Cave".
    pokemon - Sistema de lanterna como em Pokémon Flashk10


    _________________
    pokemon - Sistema de lanterna como em Pokémon Rm2k-i11 pokemon - Sistema de lanterna como em Pokémon Html-j10
    Valentine
    Valentine
    Administrador
    Administrador


    Medalhas : pokemon - Sistema de lanterna como em Pokémon ZgLkiRU
    Mensagens : 5336
    Créditos : 1163

    pokemon - Sistema de lanterna como em Pokémon Empty Re: Sistema de lanterna como em Pokémon

    Mensagem por Valentine Qui maio 06, 2021 2:56 pm

    O RPG Maker MV te fisgou?

    Bom tutorial
    + 1 crédito
    DevWithCoffee
    DevWithCoffee
    Membro Ativo
    Membro Ativo


    Mensagens : 294
    Créditos : 54

    Ficha do personagem
    Nível: 1
    Experiência:
    pokemon - Sistema de lanterna como em Pokémon Left_bar_bleue0/0pokemon - Sistema de lanterna como em Pokémon Empty_bar_bleue  (0/0)
    Vida:
    pokemon - Sistema de lanterna como em Pokémon Left_bar_bleue30/30pokemon - Sistema de lanterna como em Pokémon Empty_bar_bleue  (30/30)

    pokemon - Sistema de lanterna como em Pokémon Empty Re: Sistema de lanterna como em Pokémon

    Mensagem por DevWithCoffee Sex maio 07, 2021 1:16 am

    Particularmente gosto de mexer com Javascript, mas ao criar esse sistema notei alguns pequenos detalhes que me fizeram parecer um amador sem o uso de Plugins, como por exemplo as Pictures não causam tanto Lag se mal usadas como pensei.
    Ciclos não finalizam mesmo dentro de um evento que não acontece mais devido uma Switch.
    Etc... Me diverti bem fazendo esse.

    Mas eu não postava DEMOs por que antes eu tinha uma enorme dificuldade pra fazer ficar com menos de 10 megas.

    Estou meio sem ideias, então pensei em simular algumas características de sistemas (Em mapas) de Pokémon.

    O próximo seria um Surf e Fly, neste último ao invés de levar a um mapa, entraria no Airship e você poderia voar por tudo, já feito no Rm2k e RmXP.


    _________________
    pokemon - Sistema de lanterna como em Pokémon Rm2k-i11 pokemon - Sistema de lanterna como em Pokémon Html-j10
    Valentine
    Valentine
    Administrador
    Administrador


    Medalhas : pokemon - Sistema de lanterna como em Pokémon ZgLkiRU
    Mensagens : 5336
    Créditos : 1163

    pokemon - Sistema de lanterna como em Pokémon Empty Re: Sistema de lanterna como em Pokémon

    Mensagem por Valentine Sex maio 07, 2021 12:15 pm

    Rpg Maker escreveu:Particularmente gosto de mexer com Javascript, mas ao criar esse sistema notei alguns pequenos detalhes que me fizeram parecer um amador sem o uso de Plugins, como por exemplo as Pictures não causam tanto Lag se mal usadas como pensei.
    Ciclos não finalizam mesmo dentro de um evento que não acontece mais devido uma Switch.
    Etc... Me diverti bem fazendo esse.

    Mas eu não postava DEMOs por que antes eu tinha uma enorme dificuldade pra fazer ficar com menos de 10 megas.

    Estou meio sem ideias, então pensei em simular algumas características de sistemas (Em mapas) de Pokémon.

    O próximo seria um Surf e Fly, neste último ao invés de levar a um mapa, entraria no Airship e você poderia voar por tudo, já feito no Rm2k e RmXP.
    Acredito que as pictures não causam tanto lag por causa do WebGL usado no MV. A API gráfica dele é bem mais potente em relação aos RMs anteriores.

    DevWithCoffee gosta desta mensagem


    Conteúdo patrocinado


    pokemon - Sistema de lanterna como em Pokémon Empty Re: Sistema de lanterna como em Pokémon

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Qui Mar 28, 2024 10:27 am