MUGEN - Personagens 3 - A jogada de ataque simples (Parte I)
Página 1 de 1
MUGEN - Personagens 3 - A jogada de ataque simples (Parte I)
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
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
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
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
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 ***
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
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
Tópicos semelhantes
» MUGEN - Personagens 1 - Introdução: Sprites
» MUGEN - Personagens 2 - Caixas de colisão
» MUGEN - Visão Geral
» Mugen Tournament of the Titans Terminado!
» MUGEN - Personagens 2 - Caixas de colisão
» MUGEN - Visão Geral
» Mugen Tournament of the Titans Terminado!
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos