Rotation Entity



  • Bonjour !

    Cela fais maintenant 2heures que je refléchi en m'amusant à modifié ces valeurs mais je n'arrive pas a faire en sorte que le bloc tourne uniquement sur lui même face parallèle au sol, j'ai copié la classe du Crystal de l'end et je pense que cela ce joue ici, je me tourne vers des experts pour des réponses clairs et précises.

    Merci !

    Le code :

    /**
         * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then
         * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic
         * (Render<t extends="" entity)="" and="" this="" method="" has="" signature="" public="" void="" func_76986_a(t="" entity,="" double="" d,="" d1,<br="">     * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that.
         */
        public void doRender(EntityEnderCrystal p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_)
        {
            float f2 = (float)p_76986_1_.innerRotation + p_76986_9_;
            GL11.glPushMatrix();
            GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_);
            this.bindTexture(enderCrystalTextures);
            float f3 = MathHelper.sin(f2 * 0.2F) / 2.0F + 0.5F;
            f3 += f3 * f3;
            this.field_76995_b.render(p_76986_1_, 0.0F, f2 * 3.0F, f3 * 0.2F, 0.0F, 0.0F, 0.0625F);
            GL11.glPopMatrix();
        }</t>



  • Tu peux rajouter un GL11.glRotatef(90F, 0F, 1F, 0F) pour faire une rotation de 90° autour de l'axe y



  • J'ai effectuer ce que tu m'as dit de rajouter et ça ne change rien..


  • Administrateurs

    Tu l'as mis où ?
    Avant ou après la fonction render ?



  • Je l'ai mis juste avant : GL11.glPopMatrix();


  • Administrateurs

    Donc après this.field_76995_b.render(…); donc à un endroit complètement inutile.



  • Pourrait tu m'expliquer ou le mettre et pourquoi ?



  • Il faut le mettre avant "this.field_76995_b.render(p_76986_1_, 0.0F, f2 * 3.0F, f3 * 0.2F, 0.0F, 0.0F, 0.0625F);" car cela va permettre de dire que tout ce qui sera dessiné après sera tourné de 90° sur l'axe Y.



  • Oui il tourne sur lui meme aucun soucis mais comment empecher les rotation en diagonale qu'il effectue ? uniquement le faire tourner face contre sol, en parallèle, sa devient difficile là