/**
* 获取小球碰撞瞄准线和预碰撞点
* @param {*} cha_location
* @param {*} get_location
*/
rayTest (cha_location, get_location) {
// 获取落地的世界坐标
var louDi = this.layer_game.parent.convertToWorldSpaceAR(this.hero_luoDi_location);
// 放大 物理碰撞点的瞄准线
var zz = cc.v2(get_location.x - louDi.x, get_location.y - louDi.y);
get_location.x = get_location.x + zz.x * this.speed;
get_location.y = get_location.y + zz.y * this.speed;
// 获取两个点直接的路径会碰撞到的物理组件以及碰撞点、法线
// 这里的坐标必须是世界坐标
var results = cc.director.getPhysicsManager().rayCast(louDi, get_location, cc.RayCastType.AllClosest);
var luJin = 100000;
var pointResult = null;
// console.log('rayTest', results)
for (var i = 0; i < results.length; i++) {
//两点之间检测出来的点的数组
var result = results[i];
if(result.collider.node._name == 'block_12') {
cocos 获取物理碰撞瞄准线和两个向量的夹角
游戏物理碰撞检测
于 2022-05-25 21:53:07 首次发布
本文介绍了一个游戏场景中实现物理碰撞检测的方法,包括如何通过射线检测来获取碰撞点及其法线,并利用这些信息来计算碰撞角度及显示碰撞线。此外还提供了一种计算两个向量间夹角的实用函数。

最低0.47元/天 解锁文章
1363

被折叠的 条评论
为什么被折叠?



