0
respostas

Meu inimigo só atira para frente

O tiro do inimigo não segue o jogador como na aula, não sei o que eu fiz de errado. Abaixo o script do Inimigo:

cc.Class({
    extends: cc.Component,

    properties: {
        _alvo: cc.Node,
        _direcao: cc.Vec2,
        speed: 50,
        tiroPreFab: cc.Prefab,
        tempoAtaque:1,

    },



    onLoad () {
        this._alvo = cc.find("hero");
        this.schedule(this.Atirar, this.tempoAtaque);

    },

    Atirar: function() {
        let disparo = cc.instantiate(this.tiroPreFab);
        disparo.parent = this.node.parent;
        disparo.position = this.node.position;
        disparo.group = this.node.group;
        let componenteTiro = disparo.getComponent("tiro");
        componenteTiro.direcao = this._direcao;
    },

    mudarDirecao : function()
    {
            let direcao = this._alvo.position.sub(this.node.position);
            direcao = direcao.normalize();
            this._direcao = direcao;
    },

    update (dt) {
    this.mudarDirecao();
    let deslocamento = this._direcao.mul(this.speed * dt);
    this.node.position = this.node.position.add(deslocamento);
}
});

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software