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

[Avançado]Sistema de corrida estilo Resident Evil 4(+Bugs fixados)

Ir para baixo

[Avançado]Sistema de corrida estilo Resident Evil 4(+Bugs fixados) Empty [Avançado]Sistema de corrida estilo Resident Evil 4(+Bugs fixados)

Mensagem por Hagrifield Qui Ago 19, 2010 11:26 pm

SISTEMA DE CORRIDA ESTILO RESIDENT EVIL 4

POR: HAGRIFIELD

DEMO ANTIGA SEM AS CORREÇÕES - FEITO EM S2 RM2k

Bem, para quem já jogou este SURVIVAL HORROR, concerteza sabe do que estou falando, caso você
não entendeu, eis aqui um vídeo para entender este tutorial(VÍDEO DE MÁ QUALIDADE MAS COM O
QUE EU QUERO MOSTRAR)



INTRODUZINDO

Vamos supor que:

"UMA PEDRA DE 15 METROS CAI DE UM PENHASCO, VOCÊ ESTÁ ABAIXO DESTE PENHASCO
E IRÁ CORRER DA PEDRA, MAS NÃO VAI CONTROLAR O CARA NAS DIRECIONAIS, E SIM,
PRESSIONAR "Z" QUE NEM UM DOIDO."

Mas não terá pedras neste tutorial, apenas irá aprender exatamente a corrida, breve
irei postar 1 tutorial diferente para este aqui 😉


FERRAMENTAS QUE IRÁ USAR:

-3 variáveis
-3 Eventos Comuns
-4 Eventos pro sistema
-Alguns Eventos pra direcionar o movimento!


PRIMEIRA PARTE

Primeiro crie os eventos de Direções:

Crie 1 variável chamada DIREÇÕES, agora, crie 4 forks, sem ELSE:

Se DIREÇÕES = 1
Heroí mover pra baixo
Se DIREÇÕES = 2
Heroí mover pra cima
Se DIREÇÕES = 3
Heroí mover pra direita
Se DIREÇÕES = 4
Heroí mover pra esquerda

"TODOS COM A OPÇÃO DE IGNORAR O MOVIMENTO MARCADA E VALOR TIPO IGUAL!"

Como irá ficar:


<>IF Var.Op[XXXX][DIREÇÕES]-1
<>Set Chara Movement.Hero-Down
End Case
<>
<>IF Var.Op[XXXX][DIREÇÕES]-2
<>Set Chara Movement.Hero-Up
End Case
<>
<>IF Var.Op[XXXX][DIREÇÕES]-3
<>Set Chara Movement.Hero-Right
End Case
<>
<>IF Var.Op[XXXX][DIREÇÕES]-4
<>Set Chara Movement.Hero-Left
End Case
<>

Dê OK e volte para o mapa para a...

SEGUNDA PARTE:

Vamos agora para a parte de pressionar o botão, vamos agora fazer os seguintes passos:

1º Passo - Crie 2 Variáveis chamadas CORRER e PRESSIONAR Z e 1 Switch chamada ATIVAR CORRIDA

-Após criados, vá no mapa e crie 1 evento nomeando-o de PRESSIONAR-Z, agora defina a tecla
"Z" em ENTER PASSWORD para a variável PRESSIONAR Z.Após isso, adicione +1 valor para a
variável CORRER.

-Crie outro evento com o nome de VELOCIDADE, dentro dele, subtraia em 1 valor na
variável CORRER, e dê um wait de 0.2, logo após isso, ative a switch que criamos nesta parte.

-Agora iremos fazer com que os valores não ultrapassem, crie 2 eventos, 1 com a fork de CORRER
menor que 0, setar 0 o valor CORRER.No outro evento, criar a fork com o valor acima de 4, setar 4
(usando a mesma variável), ambos eventos, nomeá-los para ULTRAPASSAR CANCEL.

2º Passo -Coloque1 evento em branco em qualquer lugar, deixe-o como AUTO START,
para não ter o bug de mover o herói com as setas direcionais.

Pronto, após seguir isto tudo, como ficará os eventos:

PÁGINA PRESSIONAR-Z


Enter Password[XXXX][PRESSIONAR Z]-5 < 5 é o valor da tecla Z
Add Var.[XXXX][CORRER]+1
<>

PÁGINA VELOCIDADE

NOTA:Crie a segunda página no evento com a Switch ATIVAR CORRIDA como condição
de início


SUB Var.[XXXX][CORRER]-1
Wait 0.2
Change Swi.[XXXX][ATIVAR CORRIDA]-ON
<>

PÁGINA REDUTOR(1)


<>IF Optn.Var[XXXX][CORRER]-4Over
Set Var.[XXXX][CORRER]-4
<>

PÁGINA REDUTOR(2)


<>IF Optn.Var[XXXX][CORRER]-0Smaller
Set Var.[XXXX][CORRER]-0
<>

Pronto, segunda parte concluída.Vamos para a.......

TERCEIRA PARTE:

Certo, após estes eventos, vamos voltar nos EVENTOS COMUNS, agora que criamos tudo o
que precisavamos, vamos criar o evento chamado +/- Velocidade, com a condição de início
da Switch ATIVAR CORRIDA estar ligada.

Dentro do evento:

-Criar a FORK com a ELSE CASE marcada, e a condição será da variável CORRER está com o
valor 4 ou maior(Maior ou igual/ABOVE).

-Dentro da condição, coloque pra velocidade do herói aumentar, se quiser colocar algo como som,
pode colocar normalmente que não precisará de WAIT.

-Na ELSE CASE, coloque pra velocidade do herói diminuír.

-E na END CASE, coloque a switch ATIVAR CORRIDA desligada.

Página estará assim:


<>IF Var.Opr[XXXX][CORRER]-4Over
<>Set Chara Movement, Hero, Move Speed Up
<>
ELSE case
<>Set Chara Movement, Hero, Move Speed Down
<>
END case
<>Change Switch[XXXX][ATIVAR CORRIDA]-OFF
<>

Pronto, agora rode e veja se está tudo de acordo.

QUARTA PARTE:

Se rodou tudo legal até aqui, tá na hora de testarmos algo, troca de direções, eu tentei criar obstáculos,
mas vi que terá de ser feito com um WAIT cronômetrado, veja quanto tempo irá demorar para cada
curva, ou algo do tipo, pois as colisões (que são apenas para o personagem virar), reduzem a velocidade
drasticamente.

Por exemplo, suponhamos que o herói demore 3 segundos para virar à esquerda, MAS O QUE
SIGNIFICA?
daí tem mais 1 curva pela frente para à direita que leva 4 segundos.

Para executarmos esta operação, deveriamos:

-Cronometrar por wait a curva
-Setar o valor da direção que criamos na primeira parte.

A página ficaria assim:


Wait X.XX
Set Var[XXXX][DIREÇÕES]-X
<>

LEMBRANDO QUE: Sempre coloque em PROCESSO PARALELO, e se quer colocar mais direções ou mais
curvas, terá de fazer a sua escolha.

CONCLUSÃO DO QUE APRENDEMOS AQUI

Aprendemos a fazer um mini-game de que o herói corra bastante, seja como as armadilhas dos filmes
de Indiana Jones e companhia, que pode ser usado facilmente, podendo até mesmo criar coisas novas
para o sistema.

COISAS OPCIONAIS

-Caso queira colocar um DODGE(Como você viu no vídeo), crie 1 evento chamado DESVIAR, nele,
crie 2 variáveis com o nome BOTÃO Z e BOTÃO X.(O EVENTO DEVERÁ SER FEITO NO MAPA!), e coloque
1 switch que nomearemos de DESVIO ON como condição para esta página.

Agora faça 2 variáveis com o nome de HERÓI X e HERÓI Y, marque a coordenada de acordo com que
deseje que o dodge apareça.Crie 1 Picture ou Battle Animation mesmo, com botões do tipo Z e X, e
coloque sem WAIT UNTIL DONE ou algo que faça o jogador esperar.

Faça mais 2 para as posições da pedra que irá vir, coloque 1 PICTURE ou 1 BATTLE ANIMATION NO
EVENTO, POIS ASSIM, ficará mais realista por exemplo, e faça-a com animação de rolagem.

Caso não chegue até o dogde, a pedra lhe esmagará, só criar 1 evento com uma fork de se X de herói
igual a X da pedra, e Y de herói igual ao Y da pedra, mas é evento único!Movimento da pedra constante,
pode ir aumentando o movimento dela se quiser, basta apenas criar waits em um evento único.

Para dar origem ao dodge, coloque da seguinte maneira:

1-Crie 1 Wait com a switch DESVIO ON como condição de início
2-Coloque um wait de 0.2
3-Crie uma fork com as condições das variáveis BOTÃO Z = 5 e BOTÃO X = 6
4-MARQUE A ELSE CASE
5-Coloque o que ocorrerá dentro do dogde
6-Processo paralelo
7-Se conseguir, fazer algo parecido com um rolamento, do contrário, irá morrer por exemplo.

Bem, não irei montar páginas aqui, isto é opcional.

Espero que tenham gostado da organização e correções que eu fiz, aproveitem bem este sistema! Alegre

Bem, espero que tenham gostado do tutorial, eu fiz correção para 1 que postei em outro fórum,
espero que tenham gostado Legal
Hagrifield
Hagrifield
Aldeão
Aldeão

Mensagens : 4
Gold : 5013
Nível : 10

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos