|
|
@@ -478,13 +478,7 @@ export class BallController extends Component {
|
|
|
|
|
|
// 碰撞回调 - 简化版本用于测试
|
|
|
onBeginContact(selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {
|
|
|
- console.log('🎯 碰撞成功...');
|
|
|
- console.log('碰撞对象:', {
|
|
|
- self: selfCollider.node.name,
|
|
|
- other: otherCollider.node.name,
|
|
|
- otherGroup: otherCollider.group,
|
|
|
- selfGroup: selfCollider.group
|
|
|
- });
|
|
|
+ // Debug logs removed
|
|
|
|
|
|
// 判断哪个是小球,哪个是方块
|
|
|
let ballNode: Node = null;
|
|
|
@@ -503,14 +497,11 @@ export class BallController extends Component {
|
|
|
|
|
|
// 如果没有找到小球,跳过处理
|
|
|
if (!ballNode || !blockNode) {
|
|
|
- console.log('❌ 未检测到小球参与的碰撞');
|
|
|
+ // Debug log removed
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- console.log('✅ 检测到小球与方块碰撞:', {
|
|
|
- ball: ballNode.name,
|
|
|
- block: blockNode.name
|
|
|
- });
|
|
|
+ // Debug log removed
|
|
|
|
|
|
// 检查碰撞对象是否为方块
|
|
|
const nodeName = blockNode.name;
|
|
|
@@ -523,11 +514,10 @@ export class BallController extends Component {
|
|
|
nodePath.includes('Block') ||
|
|
|
hasWeaponChild;
|
|
|
|
|
|
- console.log('判定为方块:', isBlock);
|
|
|
+ // Debug log removed
|
|
|
|
|
|
if (isBlock) {
|
|
|
- console.log(`🎯 检测到方块碰撞: ${nodeName}, 路径: ${nodePath}`);
|
|
|
- console.log('🚀 方块武器被激活,发射子弹攻击敌人...');
|
|
|
+ // trigger bullet without verbose logging
|
|
|
// 计算碰撞世界坐标,默认用接触点
|
|
|
let contactPos: Vec3 = null;
|
|
|
if (contact && (contact as any).getWorldManifold) {
|
|
|
@@ -551,10 +541,7 @@ export class BallController extends Component {
|
|
|
|
|
|
// 碰撞结束事件 - 简化版本
|
|
|
onEndContact(selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {
|
|
|
- console.log('🔚 碰撞结束:', {
|
|
|
- self: selfCollider.node.name,
|
|
|
- other: otherCollider.node.name
|
|
|
- });
|
|
|
+ // Debug log removed
|
|
|
}
|
|
|
|
|
|
// 碰撞预处理事件 - 简化版本
|
|
|
@@ -611,12 +598,7 @@ export class BallController extends Component {
|
|
|
}
|
|
|
|
|
|
randomizedReflection.normalize();
|
|
|
- console.log('反射方向:', {
|
|
|
- original: direction,
|
|
|
- normal: normal,
|
|
|
- reflection: reflection,
|
|
|
- randomized: randomizedReflection
|
|
|
- });
|
|
|
+ // Debug log removed
|
|
|
|
|
|
return randomizedReflection;
|
|
|
}
|
|
|
@@ -627,6 +609,7 @@ export class BallController extends Component {
|
|
|
* @param blockNode 激活的方块节点
|
|
|
*/
|
|
|
fireBullet(blockNode: Node) {
|
|
|
+ // Debug logs removed
|
|
|
console.log('🔫 === 方块武器发射子弹流程 ===');
|
|
|
console.log('激活的方块:', blockNode.name);
|
|
|
console.log('方块路径:', this.getNodePath(blockNode));
|
|
|
@@ -642,38 +625,23 @@ export class BallController extends Component {
|
|
|
const weaponNode = this.findWeaponNode(blockNode);
|
|
|
if (!weaponNode) {
|
|
|
console.error('❌ 在方块中找不到Weapon节点:', blockNode.name);
|
|
|
- console.log('方块结构:');
|
|
|
- this.logNodeStructure(blockNode, 0);
|
|
|
-
|
|
|
- // 如果找不到Weapon节点,使用方块本身的位置作为发射位置
|
|
|
- console.log('🔧 使用方块本身作为发射位置');
|
|
|
const blockWorldPos = blockNode.worldPosition;
|
|
|
- console.log('方块世界坐标:', blockWorldPos);
|
|
|
-
|
|
|
- // 直接创建子弹并设置位置
|
|
|
this.createAndFireBullet(blockWorldPos);
|
|
|
-
|
|
|
console.log('🔫 === 方块武器发射子弹流程结束 ===');
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- console.log('✅ 找到Weapon节点:', weaponNode.name);
|
|
|
- console.log('Weapon节点路径:', this.getNodePath(weaponNode));
|
|
|
-
|
|
|
// 获取武器的世界坐标作为发射位置
|
|
|
let firePosition: Vec3;
|
|
|
try {
|
|
|
firePosition = weaponNode.worldPosition;
|
|
|
- console.log('武器世界坐标:', firePosition);
|
|
|
} catch (error) {
|
|
|
console.error('❌ 获取武器坐标失败:', error);
|
|
|
// 备用方案:使用方块坐标
|
|
|
firePosition = blockNode.worldPosition;
|
|
|
- console.log('使用方块坐标作为备用:', firePosition);
|
|
|
}
|
|
|
|
|
|
// 创建并发射子弹
|
|
|
- console.log('🚀 创建子弹...');
|
|
|
this.createAndFireBullet(firePosition);
|
|
|
|
|
|
console.log('🔫 === 方块武器发射子弹流程结束 ===');
|
|
|
@@ -692,8 +660,7 @@ export class BallController extends Component {
|
|
|
console.error('❌ 子弹实例创建失败');
|
|
|
return;
|
|
|
}
|
|
|
- console.log('✅ 子弹实例创建成功:', bullet.name);
|
|
|
-
|
|
|
+
|
|
|
// 获取子弹控制器并设置发射位置
|
|
|
const bulletController = bullet.getComponent(BulletController);
|
|
|
if (!bulletController) {
|
|
|
@@ -750,6 +717,7 @@ export class BallController extends Component {
|
|
|
|
|
|
// 递归查找Weapon节点
|
|
|
private findWeaponNode(node: Node): Node | null {
|
|
|
+ // logs removed
|
|
|
console.log(`🔍 在节点 ${node.name} 中查找Weapon...`);
|
|
|
|
|
|
// 先检查当前节点是否有Weapon子节点
|