Pregunta

Tengo un juego de disparos de zombies de arriba hacia abajo y tengo una forma extraña, a partir de un ejemplo, de mostrar una barra de salud.El código es así:

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);
    }
}

Si bien esto es haxe/haxeflixel, he visto este truco otra vez en as3, solo se hace en la llamada de sorteo.El truco anterior, en lugar de mostrar solo un objeto, muestra 9.¿Existe un nombre para este truco específico?

Parte 2 relacionado con el truco anterior, también estoy tratando de agregar un coleccionable que cure la base.Sin embargo, sólo logro agregarlo numéricamente.Estoy haciendo esto:

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

    cooler.kill();

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

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

Agrega vida a la cosa, pero no lo hace gráficamente como cuando se crea.Usando este sistema, ¿cómo puedo restaurar la salud del objeto gráficamente?

¿Fue útil?

Solución

  1. No es un truco.Es un enfoque trivial del problema, bastante extraño y, como puede ver, tampoco funciona.
  2. No hay manera de que puedas hacerlo como lo haces ahora.En primer lugar, lifeGroup.length + 1; es una declaración sin sentido a menos que + está sobrecargado, lo cual no es el caso.Simplemente toma la longitud y le suma 1.Así que supongo que querías hacer algo como lifeGroup.length+= 1; para incrementar la longitud en 1, pero desafortunadamente tampoco funcionará.En primer lugar, no se compilará porque la propiedad de longitud es de solo lectura.E incluso si se compilara y se implementara el cambio de longitud del grupo en Flixel, no habría sabido qué objeto agregar a su grupo, por lo que fallaría.

    Mi sugerencia sería crear un componente de barra de salud adecuado y simplemente trabajar con él.De lo contrario, puede seguir escribiendo código incorrecto y copiar y pegar su código de creación para incrementar vidas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top