美文网首页Cocos
CocosCreator-【射线】笔记

CocosCreator-【射线】笔记

作者: 伏波Rinnsio1xy | 来源:发表于2018-11-06 10:52 被阅读14次
1.必须在onLoad开启物理引擎start函数开启也不能使用射线
Cococs Creator 2.0.2版本

具体原因,暂不知道为什么,这个点有点坑。不开启有2个问题:
第一个是射线不能正常工作,
第二个问题是,启动会报错,PhysicsManager的init函数抛出错误。

2.使用方式,需要转化为世界坐标,具体转化下面例子

3.例子:

开启物理引擎:

    onLoad: function () {
        cc.director.getPhysicsManager().enabled = true;
    },

射线例子:

drawRayLine: function(lightType) {
        var pW1 = this.btns[lightType].convertToWorldSpaceAR(cc.v2(0, 0))
        var pW2 = cc.v2(pW1.x, pW1.y + 3000)
        var p1 = this.ctx.node.convertToNodeSpaceAR(pW1)
        var p2 = this.ctx.node.convertToNodeSpaceAR(pW2)
        var results = this.phyManager.rayCast(pW1, pW2, this.rayCastType);
        var rayLocalPoint = p2
        if (this.rayCastType === cc.RayCastType.Closest) {
            if (results[0]) {
                var rayNode = results[0].collider.node
                cc.log("ray cast node", rayNode.name)
                rayLocalPoint = this.ctx.node.convertToNodeSpaceAR(results[0].point)
                rayLocalPoint = cc.v2(p1.x, rayLocalPoint.y)
                if (rayNode.group == "LightingEmitter") {
                    var rayLightType = rayNode.getComponent("LightingEmitterType").lightType
                    this.btns[rayLightType].addColor[lightType] = true
                    cc.log("LightingEmitterType", rayLightType)

                }

            }
        }

        this.btns[lightType].rayLineStartPoint = p1
        this.btns[lightType].rayLineEndPoint = rayLocalPoint
    },

相关文章

  • CocosCreator-【射线】笔记

    1.必须在onLoad开启物理引擎start函数开启也不能使用射线 具体原因,暂不知道为什么,这个点有点坑。不开启...

  • 点线面关系

    射线与射线的交点计算

  • Unity 射线

    1,摄像机射线: 2, 物体发射射线: 3, 点击发出射线:

  • 射线与球的相交

    今天来说说射线和球的相交检测。 从图形来说 ![射线和圆相交, origin是射线起点, dir是射线的方向向量。...

  • UI射线部分执行逻辑

    射线底层实现逻辑,Ui射线最重要的部分就是GraphicRaycaster。 射线响应方法,具体实现逻辑如下

  • CocosCreator-常用

    基本语法 1.JS 2.组件实例化 3.随机数 4.间隔性调用方法 5.节点下的组件数、组件 6.制作cow组件 ...

  • CocosCreator-总结

    包体优化 删除无用代码 定期清理,删除重复和未引用的资源 压缩音效文件,尽可能少占用空间 资源尽量放到res目录下...

  • 射线

    射线:射线是3D世界中一个点向一个方向发射的一条无终点的线,在发射轨迹中与其他物体发生碰撞时,它将停止发射 。 用...

  • 射线

    public GameObject _player; bool isMove = false; Vector3 _...

  • 射线

    我的父亲四十六岁的时候走了,事业也正处于巅峰时刻,没有征兆,一切戛然而止。他一生没有见过手机,不知道互联网,也没有...

网友评论

    本文标题:CocosCreator-【射线】笔记

    本文链接:https://www.haomeiwen.com/subject/roiyxqtx.html