触发事件无法实现,求助各位佬

刚刚开始学cocos,想做个触发事件,但是碰撞后也没有看到有输出,不知道问题出哪里了,求助各位佬:pray:

问题描述

cocos版本是3.8.2。想做一个人物Luna和物品Potion的触发事件,但是触碰到了貌似并没有触发事件发生。

我的设置

Luna

Potion

碰撞矩阵

Potion.ts

这个代码是我搬官方文档的示例,不知道是理解不到位弄错了,实现不出来。

import { _decorator, Component, Node, BoxCollider2D, ITriggerEvent } from 'cc';
const { ccclass, property } = _decorator;

@ccclass('Potion')
export class Potion extends Component {
    update(deltaTime: number) {
    }

    public start() {
        let collider = this.node.getComponent(BoxCollider2D);
        if (collider) {
            console.log(collider);
        }
        collider.on('onTriggerStay', this.onTriggerStay, this);
    }

    private onTriggerStay(event: ITriggerEvent) {
        console.log(event.type, event);
    }

}

demo 发我研究研究

可以参考下这个官方示例呢https://gitee.com/mirrors_cocos-creator/physics-samples/tree/v3.x
image
同时这个物理系统的类型可以留意一下,刚测试了下可以使用Contact2DType.BEGIN_CONTACT(3.X也不是太熟悉)
https://docs.cocos.com/creator/3.8/manual/zh/physics-2d/physics-2d-contact-callback.html#注册回调函数

你好!我还不清楚怎么发大于2MB的zip包,于是就先传上共享云盘了。麻烦您:pray:
https://drive.google.com/file/d/1UMEugGT5KojUDEAGrC-aCaP4MGMhp_Yb/view?usp=sharing

你好,谢谢!我仔细琢磨一下

你好!谢谢佬,没想到还能有这种方法。
image

不过这样子貌似非常耗性能,我还是再试着搞懂怎么用碰撞回调

解决啦,谢谢佬