Рендер игрока в игровом меню.

713
10
52
Во-общем, я перепробывал мало-немало способов, но мне кажется что этот - самый оптимальный.
Я создаю свой приватный метод.
Код:
    private void renderPlayer(int x, int y, int z) {
        
        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
        int k = (this.width - this.xSize) / 2;
        int l = (this.height - this.ySize) / 2;
        this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize);
        int i1;
        drawPlayerModel(k + 46, l + 130, 58, (float)(k + 51) - this.xSize_lo, (float)(l + 75 - 50) - this.ySize_lo, this.mc.thePlayer);
        drawPlayerModel(k + 117, l + 88, 40, (float)(0), (float)(0), this.mc.thePlayer);
    }

Собственно так я объявляю что он вообще рендерится.
Есть еще один метод, он уже его рендерит.
Код:
 public static void drawPlayerModel(int x, int y, int scale, float yaw, float pitch, EntityLivingBase entity) {
        GL11.glEnable(GL11.GL_COLOR_MATERIAL);
        GL11.glPushMatrix();
        GL11.glTranslatef(x, y, 50.0F);
        GL11.glScalef(-scale, scale, scale);
        GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
        float f2 = entity.renderYawOffset;
        float f3 = entity.rotationYaw;
        float f4 = entity.rotationPitch;
        float f5 = entity.prevRotationYawHead;
        float f6 = entity.rotationYawHead;
        GL11.glRotatef(135.0F, 0.0F, 1.0F, 0.0F);
        RenderHelper.enableStandardItemLighting();
        GL11.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F);
        GL11.glRotatef(-((float) Math.atan(pitch / 40.0F)) * 20.0F, 1.0F, 0.0F, 0.0F);
        entity.renderYawOffset = (float) Math.atan(yaw / 40.0F) * 20.0F;
        entity.rotationYaw = (float) Math.atan(yaw / 40.0F) * 40.0F;
        entity.rotationPitch = -((float) Math.atan(pitch / 40.0F)) * 20.0F;
        entity.rotationYawHead = entity.rotationYaw;
        entity.prevRotationYawHead = entity.rotationYaw;
        GL11.glTranslatef(0.0F, entity.yOffset, 0.0F);
        RenderManager.instance.playerViewY = 180.0F;
        RenderManager.instance.renderEntityWithPosYaw(entity, 0.0D, 0.0D, 0.0D, 0.0F, 1.0F);
        entity.renderYawOffset = f2;
        entity.rotationYaw = f3;
        entity.rotationPitch = f4;
        entity.prevRotationYawHead = f5;
        entity.rotationYawHead = f6;
        GL11.glPopMatrix();
        RenderHelper.disableStandardItemLighting();
        GL11.glDisable(GL12.GL_RESCALE_NORMAL);
        OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit);
        GL11.glDisable(GL11.GL_TEXTURE_2D);
        OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit);
        }
Но игрока нету, что делать?
 
Подобный вопрос был совсем недавно, нажать кнопку Поиск лень?
[merge_posts_bbcode]Добавлено: 12.07.2015 19:04:50[/merge_posts_bbcode]

А вообще, просто создавать свой инстанс игрока.
 
Пофигу,что 3 месяца прошло.
Мир ты как создашь?
 
Из клиента не пробовал?
Код:
Minecraft.getMinecraft.theWorld;
 
С каких пор у нас в главном меню есть мир? Конечно он будет нулл.
 
Тимах, для создания игрока нужен мир серверный(FakePlayer). Мне интересно, как это сделал ТС
 
Назад
Сверху