mirror of
http://junepve.top:3000/chicrobot/CINC.git
synced 2026-10-30 00:31:29 +08:00
feat(ItemList) 添加周围物品列表功能
This commit is contained in:
1 parent
215e04384c
commit
0ed8c2f6ae
7 files changed
+1349
-14
No files matched your search
+36
-2
@@ -293,7 +293,41 @@ export class InputSystem {
|
||||
return this.isMouseOnMiniMap(pointer) ||
|
||||
this.isMouseOnJoystick(pointer) ||
|
||||
this.isMouseOnSidebar(pointer) ||
|
||||
this.isMouseOnInventoryUI(pointer);
|
||||
this.isMouseOnInventoryUI(pointer) ||
|
||||
this.isMouseOnItemListUI(pointer);
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查鼠标是否在物品列表菜单上
|
||||
* @param {Phaser.Input.Pointer} pointer - 指针事件对象
|
||||
* @returns {boolean} - 如果鼠标在物品列表菜单上返回true,否则返回false
|
||||
*/
|
||||
isMouseOnItemListUI(pointer) {
|
||||
// 检查场景中是否有物品列表UI
|
||||
if (!this.scene.itemListUI) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// 获取物品列表UI实例
|
||||
const itemListUI = this.scene.itemListUI;
|
||||
// 获取鼠标在屏幕上的坐标
|
||||
const mouseX = pointer.x;
|
||||
const mouseY = pointer.y;
|
||||
|
||||
// 检查UI是否可见
|
||||
if (!itemListUI.visible) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// 直接使用UI的位置和尺寸来计算边界,不依赖container
|
||||
const uiX = itemListUI.x;
|
||||
const uiY = itemListUI.y;
|
||||
const uiWidth = itemListUI.width;
|
||||
const uiHeight = itemListUI.height;
|
||||
|
||||
// 检查鼠标坐标是否在物品列表UI边界内
|
||||
return mouseX >= uiX && mouseX <= uiX + uiWidth &&
|
||||
mouseY >= uiY && mouseY <= uiY + uiHeight;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -420,7 +454,7 @@ export class InputSystem {
|
||||
return;
|
||||
}
|
||||
|
||||
const pickupDistance = 100; // 最大拾取距离
|
||||
const pickupDistance = 50; // 最大拾取距离,与物品交互距离保持一致
|
||||
let closestItem = null;
|
||||
let minDistance = pickupDistance;
|
||||
|
||||
|
||||
Reference in new issue
Block a user