Random de textures



  • Bonsoir !

    Je poste encore, hélas, un problème que je rencontre….

    J'utilisais un bout de code qui me permettais de faire un random de textures sur mes mobs, et ce, en 1.5.2

    this.texture = "/mob/zombies/zombie" + (new Random().nextInt(54)+0) + ".png";
    

    J'ai donc passé (essayé du coup) de passer ce code pour la 1.6 avec ce nouveau système de texture avec "ResourceLocation"

    ce qui me donne:

    protected static final ResourceLocation zombie = new ResourceLocation("viruz:mob/zombies/zombie" + (new Random().nextInt(54)+0) + ".png");
    

    Le Random ce fait mais pas comme je veux...

    Avant je faisait spawn un mob ils avaient tous une texture différente, maintenant il ont tous la même texture (mais en Random)

    Une image est plus parlante... http://puu.sh/7kmKq.png

    En espérant que vous pourrez m'aider !

    Merci !


  • Administrateurs

    Dans le classe de ton mob ajoutes :
    public int texture;
    Dans le constructeur du mob :
    texture = this.worldObj.rand.nextInt(54);

    Et pour finir, dans le render de ton mob, dans la fonction getTonMobTexture(TonMob mob) mets :
    return new ResourceLocation("modid", "textures/entity/mob/zombies/zombie" + mob.texture + ".png");



  • OK je teste tout ça !


    Yeah ! Merci (pour la 10251102 fois) Robin !


    Pourrais-je en faire un tuto genre "Astuce" si tu m'autorise à utiliser ta méthode ?


  • Administrateurs

    Oui 😛



  • Pour des questions d'optimisation, je pense qu'il est préférable d'utiliser Math.random() plutôt que d'initialiser un nouvel objet à chaque génération de nombre aléatoire.


  • Administrateurs

    J'utilise celui du worldObj dans mon code.



  • Je passe en résolu et je fait l'astuce !


Log in to reply