实现提示文字渐出效果
This commit is contained in:
parent
3a881a2f5f
commit
eb2ca0f08d
1 changed files with 28 additions and 6 deletions
|
@ -1,5 +1,7 @@
|
||||||
package net.mcreator.target.client.screens;
|
package net.mcreator.target.client.screens;
|
||||||
|
|
||||||
|
import com.mojang.blaze3d.platform.GlStateManager;
|
||||||
|
import com.mojang.blaze3d.systems.RenderSystem;
|
||||||
import net.mcreator.target.TargetMod;
|
import net.mcreator.target.TargetMod;
|
||||||
import net.mcreator.target.event.KillMessageHandler;
|
import net.mcreator.target.event.KillMessageHandler;
|
||||||
import net.mcreator.target.init.TargetModDamageTypes;
|
import net.mcreator.target.init.TargetModDamageTypes;
|
||||||
|
@ -74,10 +76,25 @@ public class KillMessageOverlay {
|
||||||
|
|
||||||
int targetNameWidth = font.width(targetName.get());
|
int targetNameWidth = font.width(targetName.get());
|
||||||
|
|
||||||
|
var gui = event.getGuiGraphics();
|
||||||
|
gui.pose().pushPose();
|
||||||
|
|
||||||
|
RenderSystem.disableDepthTest();
|
||||||
|
RenderSystem.depthMask(false);
|
||||||
|
RenderSystem.enableBlend();
|
||||||
|
RenderSystem.blendFuncSeparate(
|
||||||
|
GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ONE,
|
||||||
|
GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ONE
|
||||||
|
);
|
||||||
|
|
||||||
|
float alpha = (100 - record.tick) / 100f;
|
||||||
|
// TODO 实现图标半透明渲染
|
||||||
|
gui.setColor(1, 1, 1, alpha);
|
||||||
|
|
||||||
// 击杀提示是右对齐的,这里从右向左渲染
|
// 击杀提示是右对齐的,这里从右向左渲染
|
||||||
|
|
||||||
// 渲染被击杀者名称
|
// 渲染被击杀者名称
|
||||||
event.getGuiGraphics().drawString(
|
gui.drawString(
|
||||||
Minecraft.getInstance().font,
|
Minecraft.getInstance().font,
|
||||||
targetName.get(),
|
targetName.get(),
|
||||||
w - targetNameWidth - 10f,
|
w - targetNameWidth - 10f,
|
||||||
|
@ -92,7 +109,7 @@ public class KillMessageOverlay {
|
||||||
ResourceLocation damageTypeIcon = getDamageTypeIcon(record);
|
ResourceLocation damageTypeIcon = getDamageTypeIcon(record);
|
||||||
|
|
||||||
if (damageTypeIcon != null) {
|
if (damageTypeIcon != null) {
|
||||||
event.getGuiGraphics().blit(damageTypeIcon,
|
gui.blit(damageTypeIcon,
|
||||||
damageTypeIconW,
|
damageTypeIconW,
|
||||||
h - 2,
|
h - 2,
|
||||||
0,
|
0,
|
||||||
|
@ -112,7 +129,7 @@ public class KillMessageOverlay {
|
||||||
|
|
||||||
ResourceLocation resourceLocation = gunItem.getGunIcon();
|
ResourceLocation resourceLocation = gunItem.getGunIcon();
|
||||||
|
|
||||||
event.getGuiGraphics().blit(resourceLocation,
|
gui.blit(resourceLocation,
|
||||||
itemIconW,
|
itemIconW,
|
||||||
h,
|
h,
|
||||||
0,
|
0,
|
||||||
|
@ -128,7 +145,7 @@ public class KillMessageOverlay {
|
||||||
if (record.stack.getItem().getDescriptionId().equals("item.dreamaticvoyage.world_peace_staff")) {
|
if (record.stack.getItem().getDescriptionId().equals("item.dreamaticvoyage.world_peace_staff")) {
|
||||||
renderItem = true;
|
renderItem = true;
|
||||||
|
|
||||||
event.getGuiGraphics().blit(WORLD_PEACE_STAFF,
|
gui.blit(WORLD_PEACE_STAFF,
|
||||||
itemIconW,
|
itemIconW,
|
||||||
h,
|
h,
|
||||||
0,
|
0,
|
||||||
|
@ -161,7 +178,7 @@ public class KillMessageOverlay {
|
||||||
nameW -= 18;
|
nameW -= 18;
|
||||||
}
|
}
|
||||||
|
|
||||||
event.getGuiGraphics().drawString(
|
gui.drawString(
|
||||||
Minecraft.getInstance().font,
|
Minecraft.getInstance().font,
|
||||||
attackerName.get(),
|
attackerName.get(),
|
||||||
nameW,
|
nameW,
|
||||||
|
@ -170,6 +187,12 @@ public class KillMessageOverlay {
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
|
|
||||||
|
RenderSystem.defaultBlendFunc();
|
||||||
|
RenderSystem.disableBlend();
|
||||||
|
RenderSystem.depthMask(true);
|
||||||
|
RenderSystem.enableDepthTest();
|
||||||
|
|
||||||
|
gui.pose().popPose();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
|
@ -193,7 +216,6 @@ public class KillMessageOverlay {
|
||||||
} else if (record.damageType == TargetModDamageTypes.MINE) {
|
} else if (record.damageType == TargetModDamageTypes.MINE) {
|
||||||
icon = CLAYMORE;
|
icon = CLAYMORE;
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
icon = GENERIC;
|
icon = GENERIC;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue