Domanda

Ho un tiratore di zombie più alto in corso e ho un modo strano da un esempio per visualizzare un bar sanitario.Il codice è così:

private function createLives():Void
{
    BaseLifeText = new FlxText(4, 28, 220, "Base Health: ", 12);
    BaseLifeText.color = 0xffFFFFFF;        
    guiGroup.add(BaseLifeText);

    for (i in 0...9) {
        var cur:Int = lifeGroup.length + 1;

               //Start Trick
        var colnum:Int = cur;
        var xPos:Float = (BaseLifeText.x + 96) + 14 * (colnum - 1);
               //End Trick 
        life = new FlxSprite(xPos, 34,"assets/BaseHealth.png");         
        lifeGroup.add(life);
    }
}
.

Mentre questo è haxe / haxeflixel, ho visto questo trucco in un altro momento in AS3, fatto solo sulla chiamata di disegno.Il trucco sopra invece di mostrare solo uno sprite, visualizza 9. C'è un nome per questo specifico trucco?

parte 2 Pertinente al trucco sopra, sto anche cercando di aggiungere un collezione che guarirà la base.Tuttavia, ho avuto solo successo per aggiungerlo numericamente.Sto facendo questo:

private function collectCoolant(player:FlxObject, cooler:Coolant):Void
{

    cooler.kill();

    var cur:Int = lifeGroup.length + 1;     
    lives ++;

    life.x += 14 * cur;     
    lifeGroup.length + 1;
}
.

aggiunge alla vita della cosa, ma non lo fa graficamente come quando è stato creato.Usando questo sistema Come posso ripristinare la salute per la cosa graficamente?

È stato utile?

Soluzione

    .
  1. non è un trucco.È un approccio banale al problema, abbastanza strano e anche non funziona, come puoi vedere.
  2. Non c'è modo che tu possa farlo come lo fai ora.Prima di tutto, lifeGroup.length + 1; è una dichiarazione senza senso a meno che + sia sovraccaricata che non è il caso.Prende solo la lunghezza e aggiunge 1 ad esso.Quindi presumo che tu volessi fare qualcosa come lifeGroup.length+= 1; per incrementare la lunghezza di 1, ma sfortunatamente non funzionerà anche.Prima di tutto, non si compilerà, perché la proprietà della lunghezza è sola lettura.E anche se è stato compilato e la modifica della lunghezza del gruppo è stata implementata in flixel, non avrebbe saputo quale oggetto da aggiungere al tuo gruppo, quindi si schiantava.

    Il mio suggerimento sarebbe quello di creare un componente del bar sanitario adeguato e solo lavorare con esso.Altrimenti, è possibile continuare a scrivere codice cattivo e copypaste del tuo codice di creazione per incrementare la vita.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top