🤔 Para Refletir :
"As memórias, os sussurros, tudo vem da floresta, ela faz parte de você. E você faz parte dela."
- Yonori Akari

EnemyHeartPoint em andamento (duvida de como proceder)

JulioRPGCriator

Cidadão
Membro
Membro
Juntou-se
17 de Fevereiro de 2017
Postagens
103
Bravecoins
0
Boa Noite pessoal,
estou com problema com a animação de HP do inimigo em meu ABS!
Eu iniciei o processo assim:


Código:
var EnemyHeartPoint = ['EnemyHPBar'];
var EnemyBackHPBar = ['BackHPBar'];
var EnemyManaPoint = ['EnemyMPBar'];
var EnemyBackMPBar = ['BackMPBar'];
var EnemyDisplayBar = 120;
Sprite_Enemy.prototype.initialize = function(battler) {
    Sprite_Battler.prototype.initialize.call(this, battler);
    this.initBars(battler);
};
Sprite_Enemy.prototype.initBars = function(battler) {
    Sprite_Battler.prototype.initBars.call(this, battler);
    this._EnemyHeartPoint = new Sprite();
    this._EnemyBackHPBar = new Sprite();
    this._EnemyManaPoint = new Sprite();
    this._EnemyBackMPBar = new Sprite();
    this._Sprites = [];
    this._Sprites.push(this._EnemyHeartPoint);
    this._Sprites.push(this._EnemyBackHPBar);
    this._Sprites.push(this._EnemyManaPoint);
    this._Sprites.push(this._EnemyBackMPBar);    
    this._EnemyHeartPoint.bitmap = ImageManager.loadSystem(EnemyHeartPoint);
    this._EnemyBackHPBar.bitmap = ImageManager.loadSystem(EnemyBackHPBar);
    this._EnemyManaPoint.bitmap = ImageManager.loadSystem(EnemyManaPoint);
    this._EnemyBackMPBar.bitmap = ImageManager.loadSystem(EnemyBackMPBar);
    var parent = this;
    this._Sprites.reverse().forEach(function(sprite) {
        sprite.anchor.y = 0.5;
        parent.addChild(sprite);
    });
    this._HpCounter = EnemyDisplayBar
    this._MpCounter = EnemyDisplayBar;
};
Sprite_Enemy.prototype.EnemyHP = function() {
    return this.isEnemy() == null ? 0 : this._eventEnemyHp;
};

Sprite_Enemy.prototype.EnemyMP = function() {
    return this.isEnemy() == null ? 0 : this._eventEnemyMp;
};

Sprite_Enemy.prototype.HPBar = function() {};
    if (this.EnemyHP() > 0) {
        return this._HpCounter > 0;
    } else {
        return false;
    };
};
Sprite_Enemy.prototype.MPBar = function() {
    if (this.EnemyMP() > 0) {
        return this._MpCounter > 0;
    } else {
        return false;
    };
};
};

mais não sei se estou fazendo da forma correta, podem me dar uma ideia ou se errei ou faltou algo me da uma força?
 
Não acho que vá arrumar o problema das barras, mas no trecho

var parent = this;
    this._Sprites.reverse().forEach(function(sprite) {
        sprite.anchor.y = 0.5;
        parent.addChild(sprite);
    });

TL;DR:
Essa variável é inútil. Eu suponho.

Tem linha de código a mais ai.
Você define parent como this e depois usa uma função do this escrevendo parent. Ok.
Mas daria na mesma caso você não usasse uma variável e escrevesse "this.addChild(sprite);" e não daria a possibilidade de causar confusão depois por causa dessa variável e.e;
Outra é que, você poderia declarar essa variável no topo do código e trocar todos os this por parent.

Posso estar falando besteira, até por quê não sou programadora  :^^':
 
Nossa gente, perdão achei um buraco negro no meu code!

bem aqui so apaga o {}; e deixa so o { na função:

Código:
Sprite_Enemy.prototype.HPBar = function() {};
    if (this.EnemyHP() > 0) {
        return this._HpCounter > 0;
    } else {
        return false;
    };
};
e ali onde esta:
Código:
    var parent = this;
    this._Sprites.reverse().forEach(function(sprite) {
        sprite.anchor.y = 0.5;
        parent.addChild(sprite);
    });

coloquei assim:

Código:
      this.addChild(_Sprite);
    this._Sprite.anchor.y = 0.5;
 
Voltar
Topo Inferior