| Logado como Visitante | Grupo "Visitantes" Está vendo: Forum | Quarta, 04/12/2024, 3:19 PM | RSS |
Anime Mugen


[ Novas Mensagens · Membros · Regras · Buscar · RSS ]
  • Página 1 de 1
  • 1
Moderador do fórum: lMDl  
Kunais ou Shurikens interativas
TidusData: Domingo, 16/01/2011, 11:24 AM | Mensagem # 1
Criador
Grupo: Administradores
Mensagens: 557
Awards: 0
Reputação: 25
Status: Offline
Olá pessoal. mas uma vez estou aqui, agora, para explicar como criar kunais
ou shurikens interativas com os chars.
lembrando que eu não colocarei uma codificação certa para você
eu gostaria que você aprendesse a fazer.
siga a explicação abaixo, que você irá entender como fazer.

vejam o video no link abaixo para entenderem melhor:
link: http://br.youtube.com/watch?v=7dPgECGazGg

# vamos lá. no tutorial dos clones ensinei como criar helpers.
então, você que leu o tutorial de kage bushins, já deve saber
uma base de como criar helpers.

# primeiro, vamos criar um state de animação do seu char jogando a kunai.

[Passo 1]

[Statedef ?]
type = S
movetype= A
physics = S
juggle = 0
velset = 0,0
anim = ? <-- crie uma animação do char jogando a kunai.
ctrl = 0
sprpriority = 2
poweradd = 20

# nessa parte que entrará o helper.
agora, vamos imaginar que a animação que você criou do seu char
jogando a kunai sejá de 4 frames e eu quero que a kunais apareça
no segundo frame dessa animação.

[State ?, ?]
type = helper
trigger1 = AnimElem = 2 <-- numero do frame em que a kunai irá aparecer,
name = "Kunai" <-- nome do helper mostrado no mugen.
id = ? <-- id de remoção do helper.
pos = 0,0 <-- posição do helper em relação ao jogador.
postype = p1 <-- P1 indica que sairá do player 1, que o lançou.
stateno = ?? <-- state de chamada do helper.
helpertype = normal <-- se você colocar o helper como player ele será como um jogador.
ownpal = 0

# finalize o state.

[State ?, ?]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

# ok, agora vamos criar a animação da kunais em linha reta
para acertar o oponente. observe que o state do helper é o ??.

[Passo 2]

[Statedef ??]
type = S
movetype = A
physics = N
ctrl = 0
anim = ?? <-- animação da kunai.
sprpriority = 5
velset = 0,0
juggle = 0

# vamos determinar uma velocidade para o eixo x.
para que a kunai se mova em linha reta.

[State ??, ?]
type = velset
trigger1 = 1
x = ? <-------- determine a velocidade da kunai.
y = ?

# não esqueça de determinar um hitdef nessa animação.
observe o comando Trigger1 = !time. indica que acertará
o p2, mediante um contado.

[State ??, ?]
type = HitDef
Trigger1 = !time
attr = S,SP
damage = 50, 20
hitflag = MAF
guardflag = MA
priority = 1, Hit
pausetime = 1,10
sparkno = 1
sparkxy = 0,0
hitsound = 5,2
guardsound = 6,0
ground.type = heavy
ground.slidetime = 10
ground.hittime = 15
ground.velocity = -1.5,-2
air.velocity = -1.2,-3
guard.velocity = -5
fall = 1

# o comando NotHitBy indica que a kunai
não poderá ser acertada por um hit comum.

[State ??, ?]
type = NotHitBy
trigger1 = Time >= 0
time = 1
value = SCA, NA, SA, HA, NT, ST, HT
ignorehitpause = 1

# o comando HitOverride mais uma vez é o pondo chave nessa
história, he,he. é através dele que a kunai ficará interativa.
mediante a esse comando, toda vez que um poder se chocar com
a kunai, o HitOverride fará o helper pular para um state seguinte.

[State ??, ?]
type = HitOverride
trigger1 = 1
attr = SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
stateno = ???
time = -1

# para finalizar o state observe que o changestate
indica que quando a kunai acertar o p2 no caso movecontact
o helper passará para o state ????.
se a kunai passar pelo player 2 ela irá assumir o comando frontedgedist.
determine uma distancia negativa, para quando a kunai passar pelo
player 2 ela suma.

[State ??, ?]
type = changestate
trigger1 = movecontact
trigger2 = frontedgedist <= ?
value = ????

# ok, voces lembram da parte que falei sobre HitOverride.
o state que deixará a kunai interativa iremos fazer agora.
observe.

# crie um novo state. bom nessa parte, iremos aplicar um esquema
para que quando a kunai se chocar e cair no chão seja possivel o
player 2 interagir com a kunai.

[Passo 3]

[Statedef ???]
type = S
movetype= I
physics = N
juggle = 4
poweradd= 0
ctrl = 0
velset = 0,0
anim = ??? <--- crie uma animação falsa para esse state.

# nessa parte, iremos criar um explod para seguir a animação
do state ???. logo, coloque a animação da kunai no explod.

[State ???, ?]
type = Explod
trigger1 = time = 0
anim = ???? <------- coloque a animação da kunai aqui.
ID = ???? <--- id de remoção do explod.
pos = 0,0
postype = p1
facing = 1
bindtime = 9999 <-- o bindtime fará o explod seguir a mesma animação do helper.
removetime = -1
scale = 1,1
sprpriority = 3
removeongethit = 1 <--- esse comando fará com que a animação do explod não se repita.

# não esqueça de deixar a animação do explod com o mesmo numero de frames
da animação do helper, no caso criamos uma animação sem sprites.

# aqui está o ponto chave, de termos criado o explod.
o comando Turn faz a kunai mudar de posição me diante o lado
da tela em que você estiver. no caso se você estiver do lado direito da tela
o helper estará virado para o lado direito. o explod faz isso não aparecer.
por que o explod está linkado no helper de uma forma que ele não é
reconhecido pelo comando Turn.

[State ???, ?]
type = Turn
trigger1 = p2bodydist x < - 30

# no momento do acerto, a kunai irá voar pelo stage
determine os eixos do Velset.

[State ???, ?]
type = VelSet
trigger1 = !time
x = ?
y = ?

# deixe a gravidade 0 do eixo y.

[State ???, ?]
type = Gravity
trigger1 = !(Pos Y >= 0)

# para que a kunai caia no chão deixe o Posset zerado.

[State ???, ?]
type = PosSet
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
y = 0
persistent = 0

# faça a mesma coisa para o Velset.

[State ???, ?]
type = VelSet
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
y = 0
x = 0

# nessa parte iremos linkar um novo state com o
comando HitOverride. para que assim os states
possam se repetir entre si.
para ativar a ação do HitOverride, não esqueça de
colocar uma caixa de colisão na animação ???.

# vamos imaginar que a ação ??? tenha 4 frames
e que no 4 frame você colocou uma caixa de colisão.

[State ???, ?]
type = HitOverride
trigger1 = animelem = 4 <-- quarto frame da animação ???
attr = SCA, AA, AP, AT
stateno = ?????
time = -1

# o helper que no caso é a kunai, só irá sumir se o
char que jogou ela passar por cima dela, ok?
para isso acontecer, faça o seguinte.
lembre-se, você colocou um explod também, então usará o mesmo
comando para o explod.

[State ???, ?]
type = RemoveExplod
trigger1 = root, Pos X = [pos X -12,Pos X +12]
trigger1 = root, Pos Y = [Pos Y -0,Pos Y +5]
id = ???? <-- vai remover o explod.
ignorehitpause = 1
persistent = 1

[State ???, ?]
type = DestroySelf <-- vai remover o helper.
trigger1 = root, Pos X = [pos X -12,Pos X +12]
trigger1 = root, Pos Y = [Pos Y -0,Pos Y +5]

# lembrando que o comando root, só vale para o char que lançou a kunai.
então a kunai só irá sumir se o char que a lançou passar por cima dela.

# agora vamos criar o state ?????
para que assim os hitOverride's sempre se repitam entre si.

[Passo 4]

[Statedef ?????]
type = S
movetype= I
physics = N
juggle = 4
poweradd= 0
ctrl = 0
velset = 0,0
anim = ????? <--- crie uma animação falsa para esse state.

# nessa parte, iremos criar um explod para seguir a animação
do state ?????. logo, coloque a animação da kunai no explod.

[State ?????, ?]
type = Explod
trigger1 = time = 0
anim = ?????? <------- coloque a animação da kunai aqui.
ID = ?????? <--- id de remoção do explod.
pos = 0,0
postype = p1
facing = 1
bindtime = 9999 <-- o bindtime fará o explod seguir a mesma animação do helper.
removetime = -1
scale = 1,1
sprpriority = 3
removeongethit = 1 <--- esse comando fará com que a animação do explod não se repita.

# não esqueça de deixar a animação do explod com o mesmo numero de frames
da animação do helper, no caso criamos uma animação sem sprites.

# aqui está o ponto chave, de termos criado o explod.
o comando Turn faz a kunai mudar de posição me diante o lado
da tela em que você estiver. no caso se você estiver do lado direito da tela
o helper estará virado para o lado direito. o explod faz isso não aparecer.
por que o explod está linkado no helper de uma forma que ele não é
reconhecido pelo comando Turn.

[State ??????, ?]
type = Turn
trigger1 = p2bodydist x < - 30

# no momento do acerto, a kunai irá voar pelo stage
determine os eixos do Velset.

[State ?????, ?]
type = VelSet
trigger1 = !time
x = ?
y = ?

# deixe a gravidade 0 do eixo y.

[State ??????, ?]
type = Gravity
trigger1 = !(Pos Y >= 0)

# para que a kunai caia no chão deixe o Posset zerado.

[State ??????, ?]
type = PosSet
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
y = 0
persistent = 0

# faça a mesma coisa para o Velset.

[State ??????, ?]
type = VelSet
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
y = 0
x = 0

# nessa parte iremos linkar um novo state com o
comando HitOverride. para que assim os states
possam se repetir entre si.
para ativar a ação do HitOverride, não esqueça de
colocar uma caixa de colisão na animação ??????.

# vamos imaginar que a ação ?????? tenha 4 frames
e que no 4 frame você colocou uma caixa de colisão.

[State ??????, ?]
type = HitOverride
trigger1 = animelem = 4 <-- quarto frame da animação ???
attr = SCA, AA, AP, AT
stateno = ??? <-- irá voltar para o state ???
time = -1

# o helper que no caso é a kunai, só irá sumir se o
char que jogou ela passar por cima dela, ok?
para isso acontecer, faça o seguinte.
lembre-se, você colocou um explod também, então usará o mesmo
comando para o explod.

[State ??????, ?]
type = RemoveExplod
trigger1 = root, Pos X = [pos X -12,Pos X +12]
trigger1 = root, Pos Y = [Pos Y -0,Pos Y +5]
id = ???? <-- vai remover o explod.
ignorehitpause = 1
persistent = 1

[State ???, ?]
type = DestroySelf <-- vai remover o helper.
trigger1 = root, Pos X = [pos X -12,Pos X +12]
trigger1 = root, Pos Y = [Pos Y -0,Pos Y +5]

# lembrando que o comando root, só vale para o char que lançou a kunai.
então a kunai só irá sumir se o char que a lançou passar por cima dela.

# lembrando que os valores dos pos x e y são valores que eu padronizei.
mas você pode aplicar valores diferentes.

# agora para finalizar iremos cria o state se no caso a kunai acertar o enimigo.
que no caso seri o state ???? que foi apontado no passo 2 do tutorial.
crie um novo state.

[Statedef ????]
type = S
movetype= I
physics = S
juggle = 1
ctrl = 0
anim = ???? <-- animação da kunai quando acertar o enimigo.
velset = 3,0
poweradd = 20

# finalize o state.

[State ????, ?]
type = Destroyself <--- irá remover o helper depois do acerto ou se passa pelo enimigo.
trigger1 = time = 30
__________________________________________________________
bom pessoal é só. espero que tenham entendido o esquema.




Conhecimento é a única virtude e ignorância é o único vício.

Twitter - Follow Me
www.jgnetwork.com.br | JG Network - Desenvolvimento em Web.


 
Dih_Nii-SanData: Segunda, 17/01/2011, 10:34 AM | Mensagem # 2
Criador Iniciante
Grupo: Usuários
Mensagens: 430
Awards: 1
Reputação: 20
Status: Offline
tbm aprendi com esse,
masa sei fzr de outros modos ;D
abráa'ç


 
taylorData: Segunda, 17/01/2011, 10:48 AM | Mensagem # 3
Editor
Grupo: Usuários
Mensagens: 158
Awards: 0
Reputação: 15
Status: Offline
Sem duvida otimo tutorial, aprendi por este tutorial tbm, vale traveller-sensei ;D

 
  • Página 1 de 1
  • 1
Buscar:

Copyright Anime Mugen © 2024 Hospedado por uCoz
Refresh Smileys Manager
Mini-chat