类 World2ScreenScreen
java.lang.Object
org.hiedacamellia.immersiveui.client.gui.component.w2s.World2ScreenWidget
org.hiedacamellia.immersiveui.client.gui.component.w2s.World2ScreenScreen
- 所有已实现的接口:
IW2SWidget
World2ScreenScreen 是一个从世界坐标到屏幕坐标的可渲染组件。
它继承自 World2ScreenWidget,并提供了屏幕渲染、交互和缩放计算的功能。
-
字段概要
字段修饰符和类型字段说明protected int屏幕的高度。protected final com.mojang.blaze3d.pipeline.RenderTarget主渲染目标,用于屏幕渲染。protected net.minecraft.client.MinecraftMinecraft 实例,用于访问游戏相关的上下文。protected net.minecraft.world.entity.player.Player当前玩家对象。protected net.minecraft.world.phys.Vec3组件的世界坐标位置。protected net.minecraft.client.gui.screens.Screen当前显示的屏幕对象。protected int屏幕的宽度。从类继承的字段 org.hiedacamellia.immersiveui.client.gui.component.w2s.World2ScreenWidget
alpha, limitInScreen, scale, selectable, shouldRemove, smoothPosition, uuid, x, xO, y, yO -
构造器概要
构造器构造器说明World2ScreenScreen(UUID uuid, net.minecraft.client.gui.screens.Screen screen, net.minecraft.world.entity.player.Player player) 构造函数,使用 UUID、屏幕和玩家对象初始化组件。World2ScreenScreen(UUID uuid, net.minecraft.client.gui.screens.Screen screen, net.minecraft.world.entity.player.Player player, net.minecraft.world.phys.Vec3 pos) 构造函数,使用 UUID、屏幕、玩家对象和位置初始化组件。 -
方法概要
修饰符和类型方法说明voidcalculateRenderScale(float distanceSqr) 根据距离平方值计算渲染缩放比例。booleanclick(int button) 处理鼠标点击事件。net.minecraft.client.gui.screens.Screen获取当前显示的屏幕。voidgetWorldPos(org.joml.Vector3f out) 获取组件的世界坐标。booleanisSameScreen(net.minecraft.client.gui.screens.Screen screen) 检查是否为相同的屏幕。booleankeyPressed(int keyCode, int scanCode, int modifiers) 处理键盘按键事件。voidrender(net.minecraft.client.gui.GuiGraphics guiGraphics, boolean highlight, float value, net.minecraft.client.DeltaTracker deltaTracker) 渲染组件。voidresize()调整组件的大小。booleanscroll(double mouseX, double mouseY, double scrollX, double scrollY) 处理鼠标滚动事件。voidsetScreen(net.minecraft.client.gui.screens.Screen screen) 设置当前显示的屏幕。从类继承的方法 org.hiedacamellia.immersiveui.client.gui.component.w2s.World2ScreenWidget
collided, getId, getScale, getX, getXO, getY, getYO, invoke, isComputed, isInScreen, isSelectable, limitInScreen, moveIfOverlapped, setComputed, setInScreen, setRemoved, setScreenPos, setX, setXO, setY, setYO, shouldBeRemoved, shouldRemove, shouldRender, shouldSkip, shouldSmoothPosition, updateAlpha
-
字段详细资料
-
minecraft
protected net.minecraft.client.Minecraft minecraftMinecraft 实例,用于访问游戏相关的上下文。 -
screen
protected net.minecraft.client.gui.screens.Screen screen当前显示的屏幕对象。 -
player
protected net.minecraft.world.entity.player.Player player当前玩家对象。 -
w
protected int w屏幕的宽度。 -
h
protected int h屏幕的高度。 -
pos
protected net.minecraft.world.phys.Vec3 pos组件的世界坐标位置。 -
mainRenderTarget
protected final com.mojang.blaze3d.pipeline.RenderTarget mainRenderTarget主渲染目标,用于屏幕渲染。
-
-
构造器详细资料
-
World2ScreenScreen
public World2ScreenScreen(UUID uuid, net.minecraft.client.gui.screens.Screen screen, net.minecraft.world.entity.player.Player player) 构造函数,使用 UUID、屏幕和玩家对象初始化组件。- 参数:
uuid- 组件的唯一标识符screen- 当前显示的屏幕player- 当前玩家对象
-
World2ScreenScreen
public World2ScreenScreen(UUID uuid, net.minecraft.client.gui.screens.Screen screen, net.minecraft.world.entity.player.Player player, net.minecraft.world.phys.Vec3 pos) 构造函数,使用 UUID、屏幕、玩家对象和位置初始化组件。- 参数:
uuid- 组件的唯一标识符screen- 当前显示的屏幕player- 当前玩家对象pos- 组件的世界坐标位置
-
-
方法详细资料
-
setScreen
public void setScreen(net.minecraft.client.gui.screens.Screen screen) 设置当前显示的屏幕。 初始化屏幕并设置其宽度和高度。- 参数:
screen- 要设置的屏幕对象
-
getScreen
public net.minecraft.client.gui.screens.Screen getScreen()获取当前显示的屏幕。- 返回:
- 当前的屏幕对象
-
resize
public void resize()调整组件的大小。 更新屏幕的宽度和高度。- 指定者:
resize在接口中IW2SWidget- 覆盖:
resize在类中World2ScreenWidget
-
isSameScreen
public boolean isSameScreen(net.minecraft.client.gui.screens.Screen screen) 检查是否为相同的屏幕。- 参数:
screen- 要比较的屏幕对象- 返回:
- 如果是相同的屏幕则返回 true,否则返回 false
-
keyPressed
public boolean keyPressed(int keyCode, int scanCode, int modifiers) 处理键盘按键事件。- 参数:
keyCode- 按键代码scanCode- 扫描代码modifiers- 修饰键- 返回:
- 如果事件被处理则返回 true,否则返回 false
-
click
public boolean click(int button) 处理鼠标点击事件。- 参数:
button- 鼠标按键- 返回:
- 如果事件被处理则返回 true,否则返回 false
-
scroll
public boolean scroll(double mouseX, double mouseY, double scrollX, double scrollY) 处理鼠标滚动事件。- 参数:
mouseX- 鼠标的 X 坐标mouseY- 鼠标的 Y 坐标scrollX- 滚动的 X 方向增量scrollY- 滚动的 Y 方向增量- 返回:
- 如果事件被处理则返回 true,否则返回 false
-
getWorldPos
public void getWorldPos(org.joml.Vector3f out) 获取组件的世界坐标。- 参数:
out- 用于存储世界坐标的 Vector3f 对象
-
render
public void render(net.minecraft.client.gui.GuiGraphics guiGraphics, boolean highlight, float value, net.minecraft.client.DeltaTracker deltaTracker) 渲染组件。- 参数:
guiGraphics- 渲染上下文highlight- 是否高亮显示value- 渲染附加值deltaTracker- 时间增量跟踪器
-
calculateRenderScale
public void calculateRenderScale(float distanceSqr) 根据距离平方值计算渲染缩放比例。 如果距离过远,则移除组件。- 指定者:
calculateRenderScale在接口中IW2SWidget- 覆盖:
calculateRenderScale在类中World2ScreenWidget- 参数:
distanceSqr- 距离的平方值
-