O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Como criar animações que casam com a posição do sprite?

Iniciado por mat_graz, 16/02/2020 às 12:57

16/02/2020 às 12:57 Última edição: 16/02/2020 às 13:04 por mat_graz
Eu tô tentando fazer uma super gambiarra com action sequence que é durante o ataque do sv_actor ou enemy, eu boto uma animação de efeito pra rodar nele [animation X: user, mirror], dá pra ver como funciona nesse vídeo aqui, por exemplo o chapéu do makako caindo, o rastro da arma, a poeirinha dele atingindo o chão...



O problema é que dá um SUPER trabalho de tentativa e erro pra posicionar essas animações no lugar certo, eu até tentei criar um registro (essa cruzinha vermelha) no inimigo que vai na tab de animation  (Change Target...) que corresponde com o registro dos sprites das animações, os dois tem o mesmo tamanho de grid (192x192), mas na hora de rodar o jogo essas animações sempre tão fora do lugar, até pq o sprite sheet de battler dele mesmo tem um grid diferente de 192x192, que é o grid obrigatorio p/ animação. Agora, por ex, eu tô tentando fazer a animação do ataque inimigo rodar direito:

Por exemplo esse sprite sheet do inimigo tem o grid d 110x150 px



Essa é a sprite sheet da animação da folha


Aqui é um print da tab de animation, os dois registros estão sobrepostos, teoricamente tudo estaria ok


Assim é como ele tem que ficar no final (eu crio tudo no animate, antigo flash)


Porém, é assim que tá saindo no gameplay


Ah, e o anchor point no inimigo ta modificado (YEP_SV enemies), mas é muito pouco:<Sideview Anchor X: 0.65> <Sideview Anchor Y: 0.98>, não era pra mudar TANTO assim

Eu queria saber como eu posso fazer pra ter certeza que as imagens sempre vão estar posicionadas no lugar certo sem ter que fazer esse tanto de tentativa e erro
Senão eu não vou terminar meu projeto nunca ..... :._.: :T.T:

Se na aba de animação ela estiver funcionando como vc planejou então de uma olhada na aba de skill

Dá uma olhada na posição da animação e tente mudar a orientação pra ver se resolve.



16/02/2020 às 15:46 #3 Última edição: 16/02/2020 às 16:10 por mat_graz
Citação de: Gabriel N. online 16/02/2020 às 14:57
Dá uma olhada na posição da animação e tente mudar a orientação pra ver se resolve.



Fiz uns testes, todos batendo com o registro, mas sem nenhum resultado satisfatório
Na aba de animação a posição tá como (X=0, Y=0), o que bate c os registros, mas não no gameplay

Center


Head


Feet


Screen (eu não sei nem o q esse faz pra ser sincero)


Eu fiz por tentativa erro e consegui acertar com x=-27 y=68 e eu não tenho ideia o que esses numeros tem a ver com todos os outros

16/02/2020 às 15:50 #4 Última edição: 16/02/2020 às 17:03 por Brandt
Citação de: torumen online 16/02/2020 às 14:30
Se na aba de animação ela estiver funcionando como vc planejou então de uma olhada na aba de skill

Se liga meu action sequence:

Spoiler
<setup action>
clear battle log
display action
immortal: targets, true
perform start
wait for movement
</setup action>

<target action>
if user.isEnemy() && target.actorId() === 3
CHANGE SWITCH 1: on
else
CHANGE SWITCH 1: off
end

move user: targets, front, 15, auto offset x +30
wait for movement
eval: user.battler().setFrame("attack", 0);
animation 127: user, mirror  <- Esse que toca a animação
move user: targets, front, 1, auto offset y -3, auto offset x +30
face user: target
wait for animation
eval: user.battler().setFrame("attack", 1);
action effect
wait: 40
move user: targets, front, 2, auto offset y +3, auto offset x +30
face user: target
animation 122: user, mirror
wait: 1
eval: user.battler().setFrame("attack", 2);
wait: 4
Eval: user.battler().removeMaxFrame()

death break
</target action>
<finish action>
immortal: targets, false
wait for new line
clear battle log
perform finish
wait for movement
</finish action>
[close]

como o problema ta apenas durante a batalha
então coipe e cole seu action sequence em algum canto
e ai coloca algo tipo isso la:

Spoiler


<setup action>
clear battle log
display action
immortal: targets, true
perform start
wait for movement
</setup action>

<target action>
if user.isEnemy() && target.actorId() === 3
CHANGE SWITCH 1: on
else
CHANGE SWITCH 1: off
end

wait for movement
eval: user.battler().setFrame("attack", 0);
animation 127: user, mirror
wait for animation
eval: user.battler().setFrame("attack", 1);
action effect
wait: 40
face user: target
eval: user.battler().setFrame("attack", 2);
wait: 4
Eval: user.battler().removeMaxFrame()

death break
</target action>
<finish action>
immortal: targets, false
wait for new line
clear battle log
perform finish
wait for movement
</finish action>

[close]

ai a ideia é so toca a animação sem nada a mais. dai vc ver se ela roda como planejado ou se da erro. Assim se funciona certo, vc vai saber q precisa altera seu action sequence, mas se continua no mesmo erro, o problema esta em outro luga.

Citação de: torumen online 16/02/2020 às 16:38
como o problema ta apenas durante a batalha
então coipe e cole seu action sequence em algum canto
e ai coloca algo tipo isso la:

Spoiler


<setup action>
clear battle log
display action
immortal: targets, true
perform start
wait for movement
</setup action>

<target action>
if user.isEnemy() && target.actorId() === 3
CHANGE SWITCH 1: on
else
CHANGE SWITCH 1: off
end

wait for movement
eval: user.battler().setFrame("attack", 0);
animation 127: user, mirror
wait for animation
eval: user.battler().setFrame("attack", 1);
action effect
wait: 40
face user: target
eval: user.battler().setFrame("attack", 2);
wait: 4
Eval: user.battler().removeMaxFrame()

death break
</target action>
<finish action>
immortal: targets, false
wait for new line
clear battle log
perform finish
wait for movement
</finish action>

[close]

ai a ideia é so toca a animação sem nada a mais. dai vc ver se ela roda como planejado ou se da erro. Assim se funciona certo, vc vai saber q precisa altera seu action sequence, mas se continua no mesmo erro, o problema esta em outro luga.

Pera, não entendi o que tá diferente nesse action sequence dentro do spoiler  :sera:

16/02/2020 às 19:38 #7 Última edição: 16/02/2020 às 19:40 por torumen
Citação de: mat_graz online 16/02/2020 às 18:37
Pera, não entendi o que tá diferente nesse action sequence dentro do spoiler  :sera:

a essa hora vc ja deve ter notado que tem so a sua animação. o resto foi tirado.

aproposito, eu n uso o mv, nem tenho ele aqui, então n tive como testa minha ideia. se resolveu seu caso, compartilhe a solução.

Citação de: torumen online 16/02/2020 às 19:38
a essa hora vc ja deve ter notado que tem so a sua animação. o resto foi tirado.

aproposito, eu n uso o mv, nem tenho ele aqui, então n tive como testa minha ideia. se resolveu seu caso, compartilhe a solução.

nao... aqui pra mim dentro do spoiler ta basicamente o copy & paste do meu action sequence

Citação de: mat_graz online 16/02/2020 às 19:53
nao... aqui pra mim dentro do spoiler ta basicamente o copy & paste do meu action sequence
não so parece,ele  é um copy&paste, porem com algumas linhas removidas.

Citação de: torumen online 16/02/2020 às 20:32
não so parece,ele  é um copy&paste, porem com algumas linhas removidas.

Ah foi mal, nao reparei... mas testei aqui, mesma coisa, aparece lá em cima.
Eu fiz o lance da tentativa e erro e c a correção fica x=-27 e y=68, eu nao tenho ideia de onde vem esses numeros

Citação de: torumen online 16/02/2020 às 14:30
Se na aba de animação ela estiver funcionando como vc planejou então de uma olhada na aba de skill

bicho hj eu abri meu rpg maker e o position das animações mudou??? Agora tá muito mais próximo do que eu tinha planenejado, a correção é só x=-10 e y=-8, o q faz algum sentido pensando que tem uma discrepância do tamanho do grid da folha de sv_actor e do target q eu coloquei no animation tab....

agora POR QUE mudou eu não sei, inclusive um plugin q eu tinha colocado começou a funcionar tb, até ontem antes de desligar o pc tava daquele jeito la

Bem-vindo, mat! Então, uma das primeiras coisas a saber no mundo do RPG Maker: os códigos do Yanfly são bugados. Eles são a última opção em todo caso, e última mesmo. Sò quando você não pode programar o código sozinho nem pagar alguém que possa. Felizmente, existem várias alternativas. Vai dar trabalho reprogramar todo o sistema? Vai. Mas é melhor ter este trabalho agora, enquanto você está no começo, do que tê-lo lá na frente quando as animações estiverem prontas.

17/02/2020 às 12:24 #13 Última edição: 17/02/2020 às 12:26 por mat_graz
Citação de: Corvo online 17/02/2020 às 12:19
Bem-vindo, mat! Então, uma das primeiras coisas a saber no mundo do RPG Maker: os códigos do Yanfly são bugados. Eles são a última opção em todo caso, e última mesmo. Sò quando você não pode programar o código sozinho nem pagar alguém que possa. Felizmente, existem várias alternativas. Vai dar trabalho reprogramar todo o sistema? Vai. Mas é melhor ter este trabalho agora, enquanto você está no começo, do que tê-lo lá na frente quando as animações estiverem prontas.

Nossa? Eu achava q Yanfly era o mais estável... acho q só pq eh o mais famoso hgahah
tipo eu to antes de tudo trabalhando a batalha então nao seria taaaanto trabalho reprogramar, mas eu só conheço os do yanfly praticamente, tipo pra action sequence e etc, q é algo importante pro meu jogo. Isso fora uns plugins que eu achei no rpgmakerweb ou que fizeram pra mim quando eu tava tirando duvida, só q eu nao sei ler código entao to só na confiança hahaha


Então, ele é o mais famoso... mas só. Ganhou muita visibilidade com o MV por produzir sistemas à torto e à direito logo quando lançaram essa versão. Porém, tanta pressa acabou por deixar os códigos mal otimizados, alguns causando diversos problemas de compatibilidade. Perceba que, para um único código funcionar, você precisa de um ou mais Cores do Yanfly, que alteram algumas funções básicas do programa. Tirar tudo isso aí vai ser uma dor de cabeça agora, mas evitará uma maior no futuro.

Existem centenas de programadores por aí. Alguns dos mais notáveis são a Hime, o SumRndmDde e muitos outros. Sem contar que, quando tiver um problema com determinada função, é só postar no fórum que logo aparece alguém com a solução. Claro, pode acontecer de você continuar usando os códigos do Yanfly sem ter mais problemas? Pode, mas particularmente e uacho difícil.