获取线性速度getLinearVelocity 调用报错,是否是引擎BUG?

这个我确认过了。但是依然有问题,组件和节点都存在,但是获取线性速度的API就是报错,我赋值就可以

看了下报错信息,如果要是说还是不确定的话,你可以对着官方文档做个最简单的demo,来验证这个接口是否正确,个人感觉可能是用的时候没用好。

newdemo.zip (268.1 KB)

这是demo,你们看一下就知道了

this.ball.getLinearVelocity(cc.v3(0,0,0))必须要有参数

demo里没有out参数,然后给out赋值的时候报错了

如果用TS的话就会有错误提示了:clap:

然后你获取到返回值了么。。。我可是试了各种办法

就是更新传进去的out
let out = cc.v3(0,0,0);
this.ball.getLinearVelocity(out);
console.dir(out);

但是返回值是undefined啊。

这个方法妹有返回值,直接更新你传的参数

额,不是获取线性速度么。。。。

那个Out不是返回值,是传进去的参数对象,传址,直接更新了。

咳咳。。。所以怎么获取模型的线性速度。。。

let out = cc.v3(0,0,0);
this.ball.getLinearVelocity(out);

console.dir(out);
看一下out是不是想要的值

惊了。。。。。这API竟然设计的如此强大。。。

鬼才设计,我服了

api风格变了,很多都是传参 out。 在函数里面改变out。

传个out由游戏逻辑控制对象,避免引擎逻辑频繁创建不必要的对象