[]怎么把matter物理世界的左边界和右边界连在一起

我搭建了一个物理世界,有地面,还有一个圆,我给球添加了一个applyForce力控制圆程抛物线移动,我想让圆飞出物理世界右边界时可以从左边界飞出来,但移动轨迹不发生改变,就好像是把左边界和右边界连在了一起一样.我只写了一段代码直接改变圆的位置,可是圆移动过去不再继续向前飞,直接自由落体,if(this.ball.position.x<1)
{
this.ball.position={x:790,y:this.ball.position.y}
}
if(this.ball.position.x>799)
{
this.ball.position={x:10,y:this.ball.position.y}
}
请问谁有什么刚好的办法实现我需要的这个效果
已邀请:

Aar0n

赞同来自:

你要的这个效果,可能需要改引擎,或者自己写运动就很容易,
你需要自己模拟这个 方向力,和重力,然后 更新坐标。
 
你这个看着像改变坐标之后要重新把那个力加回去, 不知道你这个物理世界的力有没有衰减, 可能这个引擎出边界就没有力了,如果是这样加上就好。
 
我的代码给你贴上没有解释也可能不好懂,我是自己写的运动自己写的力。。加一个内敛函数warp在引擎库里直接调用就ok了。。。
 
如果你还用不好,我可以推荐你一本书, 《人工智能案例精粹》可以教你写这种运动,里面也有warp方法,,不过我的源码不大想贴,可以私聊给你,当初不会写代码不会编程空想了两个月,最后一个上午突然写出这算法。对我有特殊意义。
 
还有我这代码 写成了c++   c#版本。。。。建议还是自己写。
 
补充一下,经过交流,这个直接用setposition方法,替代直接改position 就解决了问题。

该问题目前已经被锁定, 无法添加新回复

商务合作
商务合作