[Blur] Effet de sang si vie faible
-
As-tu essayé de faire une image de 256*256 ou tu gères la transparence avec un effet vignette ?
-
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
->
GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.8F);
? -
Salut !!
Pour répondre a ton pb en gros minecraft ne gére pas le gui de se type donc pour que ton joueur continu de marché et touts il vas falloir que tu redéfinisse touts les mouvements (sur terre et sous l’eau).
Et si tu veut normalement tu a pas trop besoin de .png mais je ne sais plus comment ont fais.
-
Oula !
Je vais test toutes vos réponses !
Alors
Le 0.8F ne fait rien
Oui mon image est en 256x256 mais rien n’y fait:S
-
@‘sisidney’:
Salut !!
Pour répondre a ton pb en gros minecraft ne gére pas le gui de se type donc pour que ton joueur continu de marché et touts il vas falloir que tu redéfinisse touts les mouvements (sur terre et sous l’eau).
Et si tu veut normalement tu a pas trop besoin de .png mais je ne sais plus comment ont fais.
Faux.
Il a utiliser le RenderGameOverlay event qui est appelé dans GuiIngame (du moins, sa copie de Forge (net.minecraftforge.client.event.GuiIngameForge) ), or, GuiIngame n’est pas un gui comme les autres, il est directement dans le jeu et tous les mouvements ont déjà été définis avec ce gui. Il faut redéfinir les mouvement s’il créer un nouveau gui.Pour la réponse :
Déjà, recherche où RenderGameOverlayEvent est appelé pour regarder si tu n’as pas des fonctions OpenGL ou des condition à appeler, dans ce cas, t’en a aucun à part si tu veux empêcher l’affichage de ton blur à la 3eme personne (comme pour la citrouille).
Le blur est appelé dans “renderHelmet” de GuiIngameForge. Comme tu l’as remarqué, la fonction pre(ElementType e) est appelé à chaque début de fonction et post(ElementType e) à chaque fin. Pour commencer, check dans ton event si l’ElementType correspond à HELMET.if(RenderGameOverlayEvent.ElementType == RenderGameOverlayEvent.ElementType.HELMET)Ensuite, fait appel à ton blur.
Pour ton event tu dois soit utiliser RenderGameOverlayEvent.Pre soit RenderGameOverlayEvent.Post, dans les deux cas, ça ne change rien pour toi
Ta fonction pour afficher ton image en blur doit être un copie de la fonction du blur de la citrouille. (Pour k et l laisse-les, c’est bien ça ;)) (En fait, j’ai vu qu’il te manque OpenGlHelper.glBlendFunc(770, 771, 1, 0); à ton code (après j’ai pas regardé plus bas) ).
Voilà
-
Hummm, il me demande de créer la fonction glBlendFunc
Elle existe pas apparemment
-
Elle a un autre nom sans doute, t’es en quelle version ?
-
Il est en 1.6.4 mais je croix que cette fonction existe pas en 1.6

-
T’avais fait un copier/coller du renderPumpinkBlur ?
Si c’est le cas t’as rien à changer en fait sinon ma méthode fonctionne ? -
Oui j’avais copier coller le renderPumpkinBLur
-
Du coup ma méthode fonctionne ?
-
non elle fonctionne pas
-
Ah ? ça fait quoi ?
-
Essaye de virer le .png et de faire quelque chose de simple au début du genre un “rideau” transparent rouge sur tout l’écran

-
Bah j’ai essayé Alpha avec le drawGradientRect mais il veux pas ce mettre en transparent
Et je refait la manip Zak, car j’avais viré la fonction
Edit: Ah bah nickel Zak ! ça marche je fait différents test et j’avise si c’est résolu ou pas !
-
De rien

D’ailleurs pour la condition que je t’ai donné je pense que je me suis gouré (Ça fonctionne mais c’est pas très logique)
Je pense plus que c’est ça :if (event.type == RenderGameOverlayEvent.ElementType.HELMET) -
Oui bah ça fonctionnait pas donc j’ai mit event.type !