`import { _decorator, Component, Node, EventTouch, Sprite, EventMouse } from ‘cc’;
const { ccclass, property } = _decorator;
@ccclass(‘sever’)
export class sever extends Component {
start() {
}
onTouch(event: EventTouch) {
if(event.target){
console.info("target");
}
if(event.currentTarget){
console.info("currentTarget");
}
// console.info(event.getLocationInView());
// console.info(event.getLocation());
// console.info(event.getUILocation());
console.info(event.currentTarget);
console.info(event.target);
console.info(event.getCurrentTarget());
// console.info(this.getComponent(Sprite));
}
// update(deltaTime: number) {
// }
}
`
```import { _decorator, Component, Node, Event, input, Input, EventTouch, Sprite, SpriteFrame, SpriteComponent } from 'cc';
import { sever } from ‘./sever’;
const { ccclass, property } = _decorator;
@ccclass(‘NewComponent’)
export class NewComponent extends Component {
@property(sever)
public sever: sever = null!;
start() {
const g = this.getComponent(Sprite);
input.on(Input.EventType.TOUCH_START,this.sever.onTouch,g);
console.info(g);
console.info(this);
}
// update(deltaTime: number) {
// }
}
NewComponent绑定在“spriteFrame”节点上,sever绑定在“Node”节点上。当单击第一个猫猫头或任意位置时都可触发触摸事件,但是回调函数中拿不到触摸事件对应的target和currentTarget,无论注册事件时使用this还是Sprite,这两项返回都是null。

我使用了3.6.2和3.5.2测试,都是同样的结果。有哪位大佬帮忙解答一下,这玩意就是这样空着的,还是我写的不够规范?我想在多个精灵中拿到被触摸的那一个,只能通过位置进行判断了吗?

