[LayaAir 2.0]请问2.0射线到底如何使用呢?

老api不能用,必须使用PhysicsSimulation这个类,但下面这么用一直没有东西,求指点
this.mousePos=new Vector2(MouseManager.instance.mouseX, MouseManager.instance.mouseY);
camera.viewportPointToRay(this.mousePos,ray);
this.ps.rayCast(ray,this.rayCastHit,500, 0);
已邀请:

fevilbo

赞同来自:

在构造函数中 添加鼠标点击事件,并初始化射线(必须初始化射线)
 
function 构造函数() {
// 添加鼠标点击事件
Laya.stage.on( Event.MOUSE_DOWN, this, onMouseDown );
// 射线初始化
ray = new Ray( new Vector3(0,0,0), new Vector3(0,0,0) );
}
// 鼠标点击方法
function onMouseDown(){
    // 获取鼠标在屏幕点击的位置
    var point:Vector2 = new Vector2;
    point.x = Laya.stage.mouseX;
    point.y = Laya.stage.mouseY;
    // 产生射线
    camera.viewportPointToRay( point, ray );
    // 拿到射线碰撞的物体
    scene.physicsSimulation.rayCast( ray, _outHitResult );
    if( _outHitResult.succeeded ) {
          trace(“点击成功!”);
    }
}
 
 
 
 

要回复问题请先

商务合作
商务合作