mirror of
http://junepve.top:3000/chicrobot/CINC.git
synced 2026-10-30 00:31:29 +08:00
fix(VJ) 修复只能操控一个轮盘的问题
This commit is contained in:
1 parent
8b801b8df0
commit
2b155e41bc
2 files changed
+56
-26
No files matched your search
@@ -163,7 +163,7 @@ export default class SkillTestScene extends Phaser.Scene {
|
||||
isActive: false,
|
||||
base: null,
|
||||
knob: null,
|
||||
pointer: null,
|
||||
activePointer: null,
|
||||
centerX: 0,
|
||||
centerY: 0,
|
||||
radius: 50,
|
||||
@@ -345,14 +345,18 @@ export default class SkillTestScene extends Phaser.Scene {
|
||||
// 添加点击事件
|
||||
button.setInteractive({ useHandCursor: true });
|
||||
button.on('pointerdown', (pointer) => {
|
||||
// 选中技能后,将轮盘中心设置为技能按钮的中心位置
|
||||
this.skillWheel.centerX = x;
|
||||
this.skillWheel.centerY = y;
|
||||
this.skillWheel.base.setPosition(x, y);
|
||||
this.skillWheel.base.setVisible(true);
|
||||
|
||||
this.skillWheel.activeSkill = skillIndex;
|
||||
this.startSkillCast(pointer);
|
||||
// 只有在技能轮盘未激活时才开始技能施法
|
||||
// 这样可以避免与移动轮盘的指针冲突
|
||||
if (!this.skillWheel.isActive) {
|
||||
// 选中技能后,将轮盘中心设置为技能按钮的中心位置
|
||||
this.skillWheel.centerX = x;
|
||||
this.skillWheel.centerY = y;
|
||||
this.skillWheel.base.setPosition(x, y);
|
||||
this.skillWheel.base.setVisible(true);
|
||||
|
||||
this.skillWheel.activeSkill = skillIndex;
|
||||
this.startSkillCast(pointer);
|
||||
}
|
||||
});
|
||||
|
||||
this.skillWheel.skillButtons.push(button);
|
||||
@@ -372,7 +376,7 @@ export default class SkillTestScene extends Phaser.Scene {
|
||||
// 鼠标移动事件
|
||||
this.input.on('pointermove', (ptr) => {
|
||||
// 只有在技能轮盘激活时才处理
|
||||
if (!this.skillWheel.isActive || this.skillWheel.pointer !== ptr) {
|
||||
if (!this.skillWheel.isActive || this.skillWheel.activePointer !== ptr) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -395,7 +399,18 @@ export default class SkillTestScene extends Phaser.Scene {
|
||||
// 鼠标释放事件
|
||||
this.input.on('pointerup', (ptr) => {
|
||||
// 只有在技能轮盘激活时才处理
|
||||
if (!this.skillWheel.isActive || this.skillWheel.pointer !== ptr) {
|
||||
if (!this.skillWheel.isActive || this.skillWheel.activePointer !== ptr) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 完成技能释放
|
||||
this.finishSkillCast();
|
||||
});
|
||||
|
||||
// 处理指针离开屏幕的情况
|
||||
this.input.on('pointerout', (ptr) => {
|
||||
// 只有在技能轮盘激活时才处理
|
||||
if (!this.skillWheel.isActive || this.skillWheel.activePointer !== ptr) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -410,7 +425,7 @@ export default class SkillTestScene extends Phaser.Scene {
|
||||
startSkillCast(pointer) {
|
||||
// 设置技能轮盘状态
|
||||
this.skillWheel.isActive = true;
|
||||
this.skillWheel.pointer = pointer;
|
||||
this.skillWheel.activePointer = pointer;
|
||||
|
||||
// 显示旋钮和轮盘基础
|
||||
this.skillWheel.knob.setVisible(true);
|
||||
@@ -439,7 +454,7 @@ export default class SkillTestScene extends Phaser.Scene {
|
||||
|
||||
// 重置技能轮盘状态
|
||||
this.skillWheel.isActive = false;
|
||||
this.skillWheel.pointer = null;
|
||||
this.skillWheel.activePointer = null;
|
||||
this.skillWheel.activeSkill = null;
|
||||
|
||||
// 隐藏旋钮和轮盘基础
|
||||
|
||||
Reference in new issue
Block a user