鼠标X偏移: 10 鼠标Y偏移: -7 # 5代表需要滚动五次才能看完所有的Lore # 自适应 不会超过单页长度 滚动速度: 5 滚动提示: '鼠标滚动 查看更多信息' match: ".*" priority: -999 Functions: # 1. 获取界面展示位置 # 2. 如果界面展示位置+界面高度超出屏幕距离 # 3. 如果界面超长了就压缩为 屏幕高度 - 60(上下预留30像素) # 4. 如果调整位置之后 tip 距离鼠标过远 就调整为相差距离(方法.取鼠标Y - (方法.取屏幕高度 - 界面变量.高度))+30像素 # 4. 如果Lore超过界面长度 就调整为允许滚动 并且计算最大可滚动值和单次滚动距离(不超过单页长度) # 5. 居中最底部的滚轮提示 open: |- 界面变量.鼠标X偏移 = 方法.取YAML值('鼠标X偏移'); 界面变量.鼠标Y偏移 = 方法.取YAML值('鼠标Y偏移'); 界面变量.滚动速度 = 方法.取YAML值('滚动速度'); 界面变量.滚动提示 = 方法.取YAML值('滚动提示'); 界面变量.滚动值 = 0; 界面变量.宽度 = 方法.min(lore.width, 方法.取屏幕宽度) + 12; 界面变量.高度 = 方法.min(lore.height, 方法.取屏幕高度) + 8; 界面变量.X = 方法.取鼠标X + 界面变量.鼠标X偏移; 界面变量.Y = 方法.取鼠标Y + 界面变量.鼠标Y偏移; (界面变量.Y + 界面变量.高度 + 30) > 方法.取屏幕高度 ? { 界面变量.鼠标Y偏移 = -方法.取鼠标Y + 30; (界面变量.鼠标Y偏移 + 界面变量.Y + 界面变量.高度) > 方法.取屏幕高度 ? { 界面变量.高度 = 方法.取屏幕高度 - 60; } : { 界面变量.鼠标Y偏移 = - (方法.取鼠标Y - (方法.取屏幕高度 - 界面变量.高度) + 30); }; } : 0; lore.height > 界面变量.高度 ? { 界面变量.允许滚动 = true; 界面变量.最大可滚动值 = lore.height - 界面变量.高度 + 8; 界面变量.每次滚动距离 = 方法.min(界面变量.最大可滚动值 / 界面变量.滚动速度, 界面变量.高度 - 5); tip.texts = 界面变量.滚动提示; } : 0; 界面变量.提示X = (界面变量.宽度 - tip.width) / 2 + 界面变量.X; # 1. 如果滚到头了就不允许滚动 # 2. 滚到尾部也不允许滚动 wheel: |- 界面变量.允许滚动 ? 0 : return 1; 界面变量.滚动距离 = 界面变量.滚动距离 - 方法.取滚轮值 * 界面变量.每次滚动距离; 界面变量.滚动距离 < 0 ? { 界面变量.滚动距离 = 0; tip.texts = 界面变量.滚动提示; } : { 界面变量.滚动距离 > 界面变量.最大可滚动值 ? { 界面变量.滚动距离 = 界面变量.最大可滚动值; tip.texts = ""; } : 0; }; preRender: |- 界面变量.X = 方法.取鼠标X + 界面变量.鼠标X偏移; 界面变量.Y = 方法.取鼠标Y + 界面变量.鼠标Y偏移; 界面变量.提示X = (界面变量.宽度 - tip.width) / 2 + 界面变量.X; bg: type: texture x: 界面变量.X y: 界面变量.Y width: 界面变量.宽度 height: 界面变量.高度 texture: "tip/背景.png" 左边: type: "texture" x: "bg.x-2" y: "bg.y+2" width: "5" height: "bg.height-4" texture: "tip/左边.png" 上边: type: "texture" x: "bg.x+2" y: "bg.y-2" width: "bg.width-4" height: "4" texture: "tip/上边.png" 下边: type: "texture" x: "bg.x+2" y: "bg.y+bg.height-2" width: "bg.width-4" height: "4" texture: "tip/下边.png" 右边: type: "texture" x: "bg.x+bg.width-2" y: "bg.y+2" width: "4" height: "bg.height-4" texture: "tip/右边.png" 左上角: type: "texture" x: "bg.x-2" y: "bg.y-2" width: "5" height: "5" texture: "tip/左上角.png" 左下角: type: "texture" x: "bg.x-2" y: "bg.y+bg.height-3" width: "5" height: "5" texture: "tip/左下角.png" 右上角: type: "texture" x: "bg.x+bg.width-3" y: "bg.y-2" width: "5" height: "5" texture: "tip/右上角.png" 右下角: type: "texture" x: "bg.x+bg.width-3" y: "bg.y+bg.height-3" width: "5" height: "5" texture: "tip/右下角.png" lore: type: label x: bg.x+5 y: bg.y+5-界面变量.滚动距离 texts: 界面变量.lines limitX: bg.x limitY: bg.y limitWidth: bg.width limitHeight: bg.height tip下边: type: "texture" x: "tip.x" y: "tip.y" width: "tip.width" height: "tip.height" texture: "tip/背景.png" tip: type: label x: 界面变量.提示X y: bg.y + bg.height + 2 scale: 0.7 texts: ""