Página 4 de 5

Re: Dúvida sobre animações de batalha

Enviado: Qui Set 27, 2018 9:20 am
por Zalliant
Bom dia Daniel,
Como o None disse realmente você pode fazer isso para deixar a animação como quer:

Sobre a animação, creio que você pode fazer uma checagem em relação às distância.
Por exemplo
If (inimigo_atual.x - x <= 5) image_index = image_number - 2;
Else If (hspeed < 0) image_index = image_number - 1;


Pode usar também um 'distance_to_object' e ir mudando a animação conforme a proximidade. No seu código não há essa checagem, apenas a velocidade da animação.

Re: Dúvida sobre animações de batalha

Enviado: Qui Set 27, 2018 12:38 pm
por None
Você tá falando sério que não está vendo a checagem no código? Oo
É só fazer a conta, quanto é inimigo.x - x
Note que não tem velocidade de animação no meu código também.

Re: Dúvida sobre animações de batalha

Enviado: Qui Set 27, 2018 12:59 pm
por Zalliant
Eu não disse que estava completamente certo.
Observe minha fala, sobre o distance_to_object;
Uma maneira simples de se fazer isso seria assim, pelo menos ao meu ver.
Cada um com sua maneira de programar.

Re: Dúvida sobre animações de batalha

Enviado: Qui Set 27, 2018 2:09 pm
por None
Vamos fingir que no mesmo post eu não disse que o point distance seria uma alternativa à minha checagem.

O mais engraçado é que eu citei um método matemático porque ele é mais leve do que o uso de funções, e já que você havia criticado meu exemplo do timer por isso eu optei por exemplificar com um método mais leve...

Re: Dúvida sobre animações de batalha

Enviado: Sex Set 28, 2018 11:19 am
por Midgard
Isso que eu não entendo, o por que dele fazer isso. Todos as partes dentro do step event são acionadas por alguma variável, não tem pedaços soltos que ocorrem toda hora.


Bom dia man, Acontece porque com o alarm no step, ele continua a contagem enquanto a operação do step for true, logo, quando entrou no alarm, no step já está novamente contando para que entre no alarm de novo. Desta forma ele gerou esta alternância de sprites fora da hora desejada.

Conseguiu resolver este problema da animação com as dicas do pessoal acima?

Re: Dúvida sobre animações de batalha

Enviado: Sáb Set 29, 2018 2:08 am
por DarlesLSF
Midgard escreveu:
Isso que eu não entendo, o por que dele fazer isso. Todos as partes dentro do step event são acionadas por alguma variável, não tem pedaços soltos que ocorrem toda hora.


Bom dia man, Acontece porque com o alarm no step, ele continua a contagem enquanto a operação do step for true, logo, quando entrou no alarm, no step já está novamente contando para que entre no alarm de novo. Desta forma ele gerou esta alternância de sprites fora da hora desejada.

Nessas horas uma opção wait ou sleep no meio do código faria toda diferença, não precisaria ativar um alarm. Acho besteira ter uma parte do código no step e outra dentro de um alarm.

Conseguiu resolver este problema da animação com as dicas do pessoal acima?

Sim, consegui resolver. Alterei a forma como trocava a sprite. No momento tá nisso:
Imagem
Tô com pouco tempo pra mexer no GM por enquanto, próximo passo agora é fazer aparecer o dano :D

Re: Dúvida sobre animações de batalha

Enviado: Sáb Set 29, 2018 7:54 am
por None
Tá ficando muito legal!

Re: Dúvida sobre animações de batalha

Enviado: Ter Out 02, 2018 8:51 am
por DarlesLSF
Bom dia, novamente com uma dúvida haha
Como eu faço pra só aparecer números inteiros no dano?
Imagem

Aqui o código:
var atkafftemp = global.atk;
    var danovariavel = global.atk;
    atkafftemp *= 3;
    if (global.inimigo_atual == 1)
    {
        atkafftemp -= global.def_inimigo1;
    } else if (global.inimigo_atual == 2)
        {
            atkafftemp -= global.def_inimigo2;
        } else if (global.inimigo_atual == 3)
            {
                atkafftemp -= global.def_inimigo3;
            }    
    atkafftemp /= 3;
    danovariavel *= irandom_range(50,80);
    danovariavel /= 100;
    atkafftemp =+ danovariavel;
    global.bDamage = atkafftemp;
    if (global.inimigo_atual == 1)
    {
        global.hp_inimigo1 -= global.bDamage;
    } else if (global.inimigo_atual == 2)
        {
            global.hp_inimigo2 -= global.bDamage;
        } else if (global.inimigo_atual == 3)
            {
                global.hp_inimigo3 -= global.bDamage;
            }
    calculodano = false;

No caso, o quebrados que aparecem depois da virgula provém do "danovariavel". No rpg maker, só é contado o número antes da vírgula, o restante é descartado.

Re: Dúvida sobre animações de batalha

Enviado: Ter Out 02, 2018 10:11 am
por None
Você pode usar a função round() para arredondar, ceil() arredonda para cima, floor() arredonda para baixo.
Dentro dos parênteses fica o valor a ser arredondado.

Aliás, acho que esta linha está errada, não?
atkafftemp =+ danovariavel

Re: Dúvida sobre animações de batalha

Enviado: Ter Out 02, 2018 11:31 am
por DarlesLSF
None escreveu:
Você pode usar a função round() para arredondar, ceil() arredonda para cima, floor() arredonda para baixo.
Dentro dos parênteses fica o valor a ser arredondado.

Aliás, acho que esta linha está errada, não?
atkafftemp =+ danovariavel


Sim, eu percebi isso depois que mandei a mensagem aqui, já foi arrumado kkk
Obrigado pela ajuda.