首页 > 其他分享 >LayaAir3.x 物理2D碰撞事件

LayaAir3.x 物理2D碰撞事件

时间:2024-07-26 16:18:27浏览次数:14  
标签:Laya 碰撞 2D contact ColliderBase LayaAir3 物理

const { regClass, property } = Laya;

@regClass()
export class PlayerBullet extends Laya.Script {

    declare owner: Laya.Sprite;
    private _body: Laya.RigidBody;
   
    onAwake(): void {
        this._body = this.owner.getComponent(Laya.RigidBody);
    }

    /** 3D物理触发器事件与2D物理碰撞事件,开始碰撞时执行 */
    onTriggerEnter(other: Laya.PhysicsColliderComponent | Laya.ColliderBase, self?: Laya.ColliderBase, contact?: any): void {
        let info = contact.getHitInfo();
        // 取消碰撞
        contact.SetEnabled(false);
        // 获取碰撞平面的法线
        console.log(info.normal.x info.normal.y);
    }
    
    /** 3D物理触发器事件与2D物理碰撞事件,持续碰撞时执行 */
    onTriggerStay(other: Laya.PhysicsColliderComponent | Laya.ColliderBase, self?: Laya.ColliderBase, contact?: any): void {
        
    }
        
    /** 3D物理触发器事件与2D物理碰撞事件,结束碰撞时执行 */
    onTriggerExit(other: Laya.PhysicsColliderComponent | Laya.ColliderBase, self?: Laya.ColliderBase, contact?: any): void {
        
    }

}

标签:Laya,碰撞,2D,contact,ColliderBase,LayaAir3,物理
From: https://www.cnblogs.com/kingBook/p/18325629

相关文章

  • 像素值与 2D NPS 的标准差 - NPS 的总和还是平均值?
    我正在尝试根据Python中的2DNPS估计空间域中像素值的SD。我希望需要NPS值的总和除以像素总数。然而,我只能通过平均值除以像素总数来达到正确的估计。任何人都可以指出我为什么会这样吗?请参阅下面的代码示例。“SUM:“importnumpyasnpfromscipy.ff......
  • 【unity实战】完美的2D横版平台跳跃玩家控制器,使用InputSystem+有限状态机实现人物加
    最终效果文章目录最终效果前言素材目录结构动画配置检测脚本状态机玩家有限状态机玩家控制脚本定义人物不同状态待机移动跳跃下落状态落地状态墙壁滑行状态蹬墙跳状态蹬墙跳下落状态一段近战攻击状态二段近战攻击状态冲锋状态土狼时间状态攀爬开始状态攀爬进行状态功能......
  • 给园子的会员送送优惠,和你的数据库聊聊天:会员权益「Chat2DB 特惠」上线
    在园子遇到紧急困难发出求救信后,很多园友纷纷出手购买会员相救,非常感谢大家的支持!但目前会员权益很少,而我们的开发人手极其有限,为了增加更多会员权益,我们想到一个暂时的偷懒方法,尝试找优秀的厂商合作,给园子的会员特别的优惠。但这个偷懒想法并不容易实现,优秀的厂商不一定愿意理......
  • ccfcsp 201803.2 碰撞的小球 100分代码
    本题是一道小模拟规模小难度在碰撞检测在写模拟题时的思路应该是先找到应该储存的信息是哪些,抽象出来,应该模拟的方法是哪些。类似oop。includeusingnamespacestd;constintL=1000;structball{intp;chard=1;//只可能为1或-1,表示方向}b[L+1];intmain(){int......
  • 使用OpenCV拼接2d直方图 - 合并cv2.detail.MatchesInfo
    我试图将多个二维直方图(二维数据数组)拼接在一起,其中直方图的水平轴和垂直轴是空间坐标,但不同直方图的原点可能会有所不同。因此,此任务需要在识别匹配特征后进行仿射变换,为此需要稍微修改OpenCV拼接管道(https://github.com/opencv/opencv/blob/4.x/samples/python/stitch......
  • unity3d碰撞
    unity3d碰撞 Unity3D提供了多个碰撞事件函数,用于处理不同类型的碰撞情况。常用的碰撞事件函数包括:OnCollisionEnter:当两个物体开始碰撞时触发。这是碰撞的起始点,可以用于执行碰撞开始时的逻辑,如播放碰撞音效、改变游戏状态等。OnCollisionStay:在两个物体持续碰撞的过程中不断......
  • 如何检测吃豆子游戏中的碰撞?
    以下是我需要完成的Pacman游戏的样板。我在检测玩家何时会与墙壁碰撞时遇到问题。问题是我不知道玩家相对于迷宫的位置。就像如果玩家按下按键时从迷宫数组中移动一个图块一样,我可以计算出位置并检查相邻图块是否发生碰撞。但由于玩家在按键时以“1px”增量移动,因此我无法跟踪......
  • SUMA&国产海光平台服务器32DB16主板ECC内存对应表&故障内存定位
    32DB16主板内存映射关系,在ECC报错后,可参考LinuxHWError及EDAC等OS信息,定位出错内存所在位置。一、关于主板型号如何确认?方法一:可以使用以下命令在Linux系统进行查看,sudodmidecode-tbaseboard也可以使用cat/sys/class/dmi/id/board_vendorcat/sys/class/dmi/id/bo......
  • Unity学习记录01:unity2D 控制玩家移动的代码
    学unity搞东西肯定要会控制玩家移动啦,具体学习是参考了b站up主托尔的小lin,再结合我自己的经验总结出来的方法。【Unity2D游戏开发教程】第1课:2D俯视角角色如何移动?_哔哩哔哩bilibilihttps://www.bilibili.com/video/BV14j411j7Un/?spm_id_from=333.999.0.0&vd_source=d6fc444a0......
  • CF512D Fox And Travelling 题解
    Description给定一张\(n\)个点\(m\)条边的无向图。一个点只有当与它直接相连的点中最多只有一个点未被选择过时才可被选择。询问对于每个\(k\in[0,n]\),有序选择\(k\)个点的方案数。\(n\le100\),\(m\le\frac{n(n-1)}2\),答案对\(10^9+9\)取模。Solution容易发......