| Logado como Visitante | Grupo "Visitantes" Está vendo: Forum | Quinta, 21/11/2024, 5:04 AM | RSS |
Anime Mugen


[ Novas Mensagens · Membros · Regras · Buscar · RSS ]
  • Página 1 de 1
  • 1
Moderador do fórum: lMDl  
Helper
KIR1TOData: Sábado, 15/12/2012, 8:20 PM | Mensagem # 1
Iniciante
Grupo: Usuários
Mensagens: 1
Awards: 0
Reputação: 0
Status: Offline
Yo povo da AM, sou novo aki
e eu tenho uma duvida
estou criando um char do Pain
e quero q quando ele arremese a kunai ela vá inclinada em direçao ao p2
e tbm q ela fosse na direçao do p2
me ajudem
 
ThunderbertData: Sábado, 15/12/2012, 11:26 PM | Mensagem # 2
Criador Iniciante
Grupo: Usuários
Mensagens: 343
Awards: 0
Reputação: 19
Status: Offline
Cara, primeiramente, vamos ver um pouquinho de matemática xD

Pra isso, precisaremos de trigonometria:

tg = cateto oposto / cateto adjacente

Pra q precisamos da tangente?
Pq o mugen tem o trigger chamado ATan, q nos dá o ângulo q tem aquela tangente, e queremos o ângulo formado entre o player e o inimigo.

agora, o q são cateto oposto e o cateto adjacente?

cateto oposto = distância Y entre os chars
cateto adjacente = distância X entre os chars

Outra coisa importante q vc deve saber é decompor um vetor, no caso, a velocidade do char, pois você tem uma velocidade desejada, mas tem q decompor ela em X e Y para q ela possa seguir no ângulo desejado.

Velocidade X = Velocidade * Cos
Velocidade Y = Velocidade * Sen

OK, agora com isso em mãos, vamos ao código o/

Primeiramente, vamos armazenar o ângulo entre o Helper e o Inimigo para facilitar os cálculos, no exemplo, eu usei a FVar 39 e, como não existe divisão por 0, eu coloquei pra usar distância 0.1 caso a distância X seja menor ou igual a 0, além disso, estou somando a posição central Y do inimigo para que o helper não vá na direção do pé do inimigo.

[State 401, VarSet]
Type = VarSet
Trigger1 = !Time
FV = 39
Value = ATan((P2Dist Y + EnemyNear,Const(Size.Mid.Pos.Y))/IfElse(P2Dist X <= 0, 0.1, P2Dist X))

Com o ângulo calculado, vamos decompor a velocidade em X e Y, no exemplo, a velocidade q eu quero é 10, isso você vai modificando até achar q fica bom, a FVar usada aqui deve ser a mesma utilizada no VarSet anterior

[State 401, VelSet]
Type = VelSet
Trigger1 = 1
X = 10.0*Cos(FVar(39))
Y = 10.0*Sin(FVar(39))

A parte à seguir é opcional, ele vai girar o helper de acordo com o ângulo, como o trigger ATan retorna o valor em PI radianos e o AngleDraw usa valores em graus, eu estou fazendo a conversão necessária ^^

[State 401, AngleDraw]
Type = AngleDraw
Trigger1 = 1
Value = -(180*FVar(39))/PI

Enfim, espero ter ajudado ^^




Vlw MD ²
Vlw Baka-Sennin
Vlw FM ²
 
OIlusionistaData: Domingo, 16/12/2012, 12:07 PM | Mensagem # 3
Editor
Grupo: Usuários
Mensagens: 180
Awards: 0
Reputação: 7
Status: Offline
Mandou bem nessa, Thunder.

Beeing here since 1999
 
  • Página 1 de 1
  • 1
Buscar:

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