MUGEN - Personagens 3 - A jogada de ataque simples (Parte I)

Ir em baixo

MUGEN - Personagens 3 - A jogada de ataque simples (Parte I)

Mensagem  Leon em Sab Set 01, 2012 2:39 pm

Introdução
Agora que você está familiarizado com sprites e animações, é hora de passar para a parte central de seu personagem, os estados. Exatamente o que você faz personagem é descrito em seu arquivo cns.. É uma boa idéia para ver pelo menos as partes iniciais da docs SNC antes de continuar com este tutorial.

1. Variáveis ​​jogador
Vamos começar por abrir o seu jogador. Arquivo cns em um editor de texto (de volta em Tutorial 1, você deve ter copiado kfm.cns para player.cns, ou o nome que você escolheu para o seu personagem). No topo do arquivo cns. Você verá o [dados] grupo. Este é o lugar onde as variáveis ​​jogador começar.

As variáveis ​​jogador afetar muitos aspectos básicos de seu personagem. A maioria dos valores em kfm.cns irá funcionar bem para quase qualquer personagem, mas há alguns que você pode precisar de mudar. Estas estão marcadas por baixo. Tenha em mente que o sistema de coordenadas X é positivo para a frente (na direção do seu personagem está enfrentando) e Y negativo para cima. Todas as distâncias são medidas em pixels, e velocidades de pixels / tick (carrapato um jogo é 1/60th de um segundo).
Código:
, Não há nada no grupo Dados você precisa mudar neste momento
, No tutorial. Você pode deixar este grupo inalteradas por agora.
[Dados]
vida = 1000
atacar = 100
defesa = 100
fall.defence_up = 50
liedown.time = 60
airjuggle = 15
sparkno = 2
guard.sparkno = 40
KO.echo = 0
volume = 0
IntPersistIndex = 60
FloatPersistIndex = 40

, Há algumas coisas neste grupo que você pode querer mudar.
[Tamanho]
; Os próximos dois parâmetros são os fatores X e Y em escala de seu personagem
, Sprites. Você pode deixá-los em uma cada de manter seus sprites em um normal
; Tamanho.
xscale = 1
yscale = 1
, Certifique-se de ajustar as configurações de largura abaixo para se adequar ao seu personagem.
; Estes afetam o quão perto um outro personagem pode começar a sua. Ajuste estes
, Valores e pressione Ctrl-C no jogo. Olhe para a barra dos pés do
; Caracteres.
ground.back = 15; Jogador largura (parte traseira, terra)
ground.front = 16; Jogador largura (frente, terra)
air.back = 12; Jogador largura (de volta, o ar)
air.front = 12; Jogador largura (frente, ar)
, Que é normalmente bem aos 60 anos. Não fazê-lo muito grande, ou outro
, Personagens terão problemas saltando sobre o seu.
height = 60; Altura do jogador (por adversário para saltar)
, Você pode deixar o próximo 3 inalterados.
attack.dist = 160
proj.attack.dist = 90
proj.doscale = 0
, Você pode definir essas acordo, se o seu personagem é alto ou baixo.
, Caso contrário, esses valores padrão deve ser fino.
head.pos = -5, -90; posição aproximada da cabeça
mid.pos = -5, -60; posição aproximada de midsection
; Os próximos dois parâmetros não precisam ser alterados.
shadowoffset = 0
draw.offset = 0,0

; Estas são as velocidades utilizadas em vários estados comuns que todos
; Personagens têm. Ajuste estes para se adequar ao seu personagem.
[Velocity]
walk.fwd = 2,4; Caminhada para a frente
walk.back = -2,2; Caminhe para trás
run.fwd = 4.6, 0; correr para a frente (x, y) (y deve ser 0)
run.back = -4,5, -3,8; trás Hop (x, y)
jump.neu = 0, -8,4, velocidade de salto Neutro (x, y)
jump.back = -2,55; Velocidade Ir para trás (x, y)
jump.fwd = 2,5; Ir velocidade para a frente (x, y)
runjump.back = -2,55, -8,1; velocidades salto Corrida (opt)
runjump.fwd = 4, -8,1,.
airjump.neu = 0, -8,1,.
airjump.back = -2,55; velocidades salto de ar (opt)
airjump.fwd = 2,5,.

; Estas são variáveis ​​diversas utilizadas para o movimento. Conjunto
; Conformidade.
[Movimento]
airjump.num = 1; Número de saltos aéreos permitido (opt)
airjump.height = 35; Distância mínima do chão antes de você
                          , Pode saltar de ar (opt)
yaccel = 0,44; aceleração vertical
stand.friction = 0,85, coeficiente de atrito, quando em pé
crouch.friction = 0,82, coeficiente de atrito quando agachado
Depois de ter as variáveis ​​estabelecidas para o seu gosto, vamos passar a fazer um ataque simples.

2. Preparando-se para fazer um ataque simples
Se o seu personagem. Arquivo CNS (vamos chamá-lo player.cns) foi copiado de kfm.cns, em seguida, seu personagem já tem todos os estados do Kung Fu Man. O que vamos fazer é modificar soco em pé KFM para trabalhar para o seu personagem. Não se preocupe com todos os outros estados para agora. Você pode modificá-los mais tarde, ou apagar as que você não precisa.

Luz de pé KFM de soco é o número 200 do estado, por isso vamos trabalhar com sprites com o número do grupo 200, e uma acção de animação com o mesmo número.

O primeiro passo é fazer com que os sprites e animação de acção para o ataque. Para este exemplo, vamos supor que você adicionou três novos sprites e reconstruiu o arquivo. Sff. Em player.air, fazer uma ação nova animação 200. Se o seu arquivo. Ar foi copiado de kfm.air, em seguida, substituir a ação de idade 200 com o novo. O que você adicionou será algo semelhante a isto:
Código:
; Novo ataque
[Begin Action 200]
200,0, 0,0, 2
200,1, 0,0, 3
200,2, 0,0, 5
200,1, 0,0, 4
200,0, 0,0, 3
Tal como fez no Tutorial 2, definir caixas de colisão para esta animação. Para o quadro de animação que vai tratar o golpe, certifique-se de definir um Clsn1 caixa (ataque, vermelho) também. Em geral, é uma boa idéia ter seu Clsn2 (batida, azul) caixas de cobrir a área dentro de suas Clsn1 caixas. A razão é porque, se você está perdendo caixas azuis dentro dos vermelhos, o seu ataque ganha uma prioridade injusta. Além disso, você não seria capaz sucessos comerciais com outro jogador tentar bater-lhe na área.

Aqui está um exemplo:



Depois de salvar suas caixas de colisão para o arquivo. Ar, abrir player.cns (ou qualquer outro nome de seu personagem. Arquivo SNC). Encontre o grupo [Statedef 200] e excluir tudo, desde que a linha até um pouco antes [Statedef 210], o próximo estado. Você já removido estado KFM de ataque leve soco.

3. Fazendo um estado
Agora vamos colocar em seu estado próprio ataque. Vamos começar devagar, e construir. Coloque este bloco de código em player.cns:
Código:
; Cada estado deve começar com um grupo StateDef. Agora, temos um
; Parâmetro no StateDef, a "anim" parâmetro. Isso sinaliza para MUGEN
, Mudar para o leitor de animação acção 200, no início do estado.
[StateDef 200]
anim = 200

; Este grupo seguinte é chamado um controlador. Além da StateDef, um estado é
; Composta de um ou mais controladores. Os controladores são instruções sobre o que
, Para fazer, em que tempo. "O que fazer" é o "tipo" do controlador, e
, "Em que épocas" é a chamada "condição de disparo". Neste caso, o
; Gatilho é "AnimTime = 0". Isso significa que "quando a ação de animação atual
, ". O tipo é". Terminou ChangeState ", com um valor de 0 Então toda esta
, Controlador significa "mudar de volta para o estado 0 (em pé estado), quando o
, Ação de animação atual terminou ".
[State 200, 1]
type = ChangeState
trigger1 = AnimTime = 0
valor = 0
Neste momento, você pode querer referir-se à documentação cns Aprender formato MUGEN do SNC pode ser um pouco difícil no começo, então não se preocupe se você está confuso de vez em quando. Como qualquer outra linguagem de script, você vai se acostumar com o formato SNC, uma vez que você tenha visto o suficiente.

Ok, então o que é que esse bloco de código faz? É basicamente muda o jogador a anim ação 200, espera até que a ação termina, em seguida, define o jogador de volta para o estado 0, o estado de pé normal. Tente executá-lo e ver. Quando você está de pé, x Pressione o botão para ir para o estado 200.

Você deve ter notado algumas coisas quando você tentou o ataque. Mesmo que você tenha Clsn1 caixas, você não pode bater o outro jogador! Isso porque não temos definido os parâmetros de vida ainda. Nós vamos chegar a isso mais tarde. Por agora, vamos cuidar de outras questões uma a uma.



A primeira coisa a fazer é evitar que o jogador de fazer qualquer coisa para sair do ataque. Para ver o que eu quero dizer, prima X e depois tente caminhar rapidamente ou saltar. Este não é o comportamento correto para um ataque, então vamos evitar isso. Inserir uma nova linha "ctrl = 0" para o grupo StateDef:
Código:
[StateDef 200]
anim = 200
ctrl = 0; *** Adicione esta linha ***

[State 200, 1]
type = ChangeState
trigger1 = AnimTime = 0
valor = 0
Vou explicar o conceito do que é chamado de flag de controle . Uma bandeira pode ter ou uma em (também chamado True) ou off valor (False). Agora, quando a bandeira de controle é sobre , digamos, "o jogador tem controle". Um jogador que tem controle pode imediatamente começar a andar, pular, atacar, etc, se você pressionar os botões correspondentes. Se esse jogador não tem controle, você não pode fazer ele se mover ou atacar até que ele obtém o controle de volta.

Anteriormente, você pode cancelar o ataque a qualquer momento, porque o seu jogador tinha o controle o tempo todo. Agora que nós adicionamos a linha ctrl = 0 "para o StateDef, você não pode sair do ataque mais. Agora, tente executar MUGEN novamente com o seu leitor modificado. Você não pode cancelar o ataque agora, mas você ficou preso no estado stand e não pode se mover! O que aconteceu?

4. Olhando para a informação de depuração
Vamos dar uma olhada nas informações de depuração na parte inferior da tela. Se você não vê-lo, pressione Ctrl-D para ligá-lo.



Vou explicar o que você vê linha por linha.


  • Na linha superior (jogo específico). Não se preocupe com as informações sobre esta linha, por enquanto:

    • Quadros - o número de carrapatos de jogo decorridos até agora.






    • VRet - 0 se VRetrace está ligado, se uma VRetrace está desligado (pressione Ctrl-V para alternar).






    • Velocidade - 0 se acelerar-se em, 1 se a velocidade-up é desligado (pressione Ctrl-S para alternar). Se no, MUGEN corre tão rápido quanto possível.






    • Ir - o modo de frameskip. "A" significa "auto". Caso contrário, é o número de quadros para pular entre o desenho da tela.




  • Na segunda linha:

    • Este é o nome do jogador eo número de ID (você pode ver os números de identificação dos jogadores ao lado de seus nomes, pressionando Ctrl-C). Não se preocupe com o número entre parênteses.




  • Na terceira linha (jogador-específica):

    • ActionID: O número do jogador actual acção de animação.






    • Spr: O grupo e número da imagem do sprite que está sendo exibido.






    • Elemno: O primeiro número é o elemento atual da ação de animação que está sendo jogado. O segundo número é o número total de elementos em que a acção.






    • Tempo: Este é o número total de tiques de o jogador ter passado através do referido recurso. O segundo número é a duração da acção em escalas. Quando o primeiro número é igual ao segundo, então o "AnimTime = 0" trigger será disparado.




  • Na última linha (mais informações do jogador específico):

    • Estado não: O número do estado o jogador está dentro






    • Ctrl: O valor da bandeira controle. 0 é off , 1 é em .






    • Tipo: O tipo de situação atual (não se preocupe com isso por enquanto).






    • Movetype: O tipo de movimento atual (não se preocupe com isso por enquanto).






    • Tempo: Este é o número total de tiques de o jogador ter passado no seu estado atual.



Isso é um monte de informação! Não precisa se preocupar. Agora só quero olhar para o valor da bandeira controle. Procure-o na linha de fundo, depois de fazer o ataque. Você vê que o valor ficou em 0 mesmo que você mudou de volta para o estado stand? É melhor corrigir isso.
Código:
[StateDef 200]
anim = 200
ctrl = 0

[State 200, 1]
type = ChangeState
trigger1 = AnimTime = 0
valor = 0
ctrl = 1; *** Adicione esta linha ***
O que essa linha faz é ligar o flag de controle, assim como as alterações jogador de volta para o estado stand. Tente executar MUGEN novamente. Agora ele não está preso mais!

5. Mais sobre StateDefs
Há ainda um outro problema. Se você segurar para frente ou para trás, quando você ataca, você vai ver o seu personagem deslizando durante o ataque. Vamos adicionar alguns novos parâmetros para o StateDef:
Código:
[StateDef 200]
anim = 200
ctrl = 0
type = S; *** Adicione esta linha ***
Física = S; *** Adicione esta linha ***

[State 200, 1]
type = ChangeState
trigger1 = AnimTime = 0
valor = 0
ctrl = 1
Estes dois parâmetros dizer MUGEN para definir o leitor para um tipo de estado "em pé" e de usar "permanentes" física. Quando seu personagem tem "pé" da física, ele estará sujeito ao atrito com o chão (você especificou o "stand.friction" parâmetro na parte variáveis ​​jogador nesse tutorial anterior). Sem o parâmetro, nenhum modelo física seria usado, assim que seu personagem iria deslizar ao longo como se fosse no gelo (como você viu só agora).

Se você tentar executar MUGEN agora, seu personagem deve desacelerar até parar muito rapidamente se você atacar durante a caminhada. Isso é um avanço, mas vamos adicionar mais um parâmetro para fazê-lo parar de se mover imediatamente quando você ataca.
Código:
[StateDef 200]
anim = 200
ctrl = 0
type = S
Física = S
velset = 0,0; *** Adicione esta linha ***

[State 200, 1]
type = ChangeState
trigger1 = AnimTime = 0
valor = 0
ctrl = 1
O "velset = 0,0" linha dizer MUGEN para definir a velocidade de seu personagem a 0 (tanto na direção X e Y), como ele entra no estado 200. Se você tentar executar MUGEN agora, você vai ver o seu personagem em pé com firmeza quando você ataca, não importa o quão rápido ele estava se movendo antes.

_________________
avatar
Leon
Admin
Admin

Mensagens : 91
Reputação : 21
Data de inscrição : 31/08/2011
Localização : Soul Society

Ver perfil do usuário http://pokemonfanmaster.forumeiros.com/

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum