ICustomScale
基本信息
| 属性 | 值 |
|---|---|
| 全限定名 | betterachievements.api.components.page.ICustomScale |
| 类型 | 接口(AchievementPage 自定义缩放) |
| 源文件 | src/main/java/betterachievements/api/components/page/ICustomScale.java |
功能
AchievementPage 实现后,可以覆盖 GuiBetterAchievements 默认的缩放行为 —— 控制初始缩放、缩放上下限,以及是否在打开页面时重置缩放。
方法签名
| 方法 | 返回类型 | 说明 |
|---|---|---|
resetScaleOnLoad() |
boolean |
若返回 true,切到该页时把当前 scale 重置为 setScale() 的返回值 |
setScale() |
float |
该页打开时使用的初始缩放(注释:The default minecraft value is 1.0F) |
getMaxScale() |
float |
该页允许的最大缩放(默认 2.0F) |
getMinScale() |
float |
该页允许的最小缩放(默认 1.0F) |
调用点
GuiBetterAchievements.initGui() 打开页面时:
if (page instanceof ICustomScale) this.scale = ((ICustomScale) page).setScale();
GuiBetterAchievements.handleMouseClick 切换页面时:
if (page instanceof ICustomScale && ((ICustomScale) page).resetScaleOnLoad())
this.scale = ((ICustomScale) page).setScale();
GuiBetterAchievements.doZoom(page) 滚轮缩放时:
float minZoom = customScale ? ((ICustomScale) page).getMinScale() : GuiBetterAchievements.minZoom;
float maxZoom = customScale ? ((ICustomScale) page).getMaxScale() : GuiBetterAchievements.maxZoom;
this.scale = MathHelper.clamp_float(this.scale, minZoom, maxZoom);
相关条目
- GuiBetterAchievements - 调用方
- ICustomPosition - 同级的初始位置接口