🇩🇪 Deutsch (German)
🇩🇪 Deutsch (German)
Erscheinungsbild
🇩🇪 Deutsch (German)
🇩🇪 Deutsch (German)
Erscheinungsbild
Diese Seite ist für folgende Version geschrieben:
1.20.4
Diese Seite ist für folgende Version geschrieben:
1.20.4
Wir haben bereits auf der Seite Grundlegende Rendering-Konzepte und Den Zeichenkontext verwenden kurz über das Rendern von Dingen auf dem Hud gesprochen, daher beschränken wir uns auf dieser Seite auf das Event HudRenderCallback
und den Parameter deltaTick
.
Das Event HudRenderCallback
, das von der Fabric API bereitgestellt wird, wird bei jedem Frame aufgerufen und wird zum Rendern von Dingen auf dem HUD verwendet.
Um dieses Event zu registrieren, kannst du einfach HudRenderCallback.EVENT.register
aufgrufen und ein Lambda übergeben, welches einen DrawContext
und einen float
(deltaTick) als Parameter benötigt.
Der Zeichenkontext kann verwendet werden, um auf die verschiedenen Rendering-Utilities zuzugreifen, die vom Spiel zur Verfügung gestellt werden, und um auf den Rohmatrix-Stapel zuzugreifen.
Du solltest dir die Seite Den Zeichenkontext verwenden ansehen, um mehr über den Zeichenkontext zu erfahren.
Der Parameter deltaTick
ist die Zeit seit dem letzten Frame in Sekunden. Dies kann für Animationen und andere zeitbasierte Effekte verwendet werden.
Nehmen wir an, du möchtest eine Farbe im Laufe der Zeit auslöschen. Dazu kannst du den Parameter deltaTick
verwenden.
HudRenderCallback.EVENT.register((context, tickDeltaManager) -> {
int color = 0xFFFF0000; // Red
int targetColor = 0xFF00FF00; // Green
// Total tick delta is stored in a field, so we can use it later.
totalTickDelta += tickDeltaManager.getTickDelta(true);
// "lerp" simply means "linear interpolation", which is a fancy way of saying "blend".
float lerpedAmount = MathHelper.abs(MathHelper.sin(totalTickDelta / 50F));
int lerpedColor = ColorHelper.Argb.lerp(lerpedAmount, color, targetColor);
// Draw a square with the lerped color.
// x1, x2, y1, y2, z, color
context.fill(0, 0, 100, 100, 0, lerpedColor);
});