Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 多个球与发动机之间的碰撞_Android_Andengine - Fatal编程技术网

Android 多个球与发动机之间的碰撞

Android 多个球与发动机之间的碰撞,android,andengine,Android,Andengine,我使用andengine for android,我有多个球在它们和屏幕的界限之间反弹。问题是,当碰撞时,我做的是反转X和Y方向,这样反弹效果就不真实了,你怎么做 @覆盖 ManagedUpdate上的受保护无效(最终浮点psecondsPassed){ 如果(this.mXCAMERA\u WIDTH){ 这个.mpphysicandler.setVelocityX(-DEMO_-VELOCITY); } if(this.mYCAMERA\u HEIGHT){ 这个.mpphysicandle

我使用andengine for android,我有多个球在它们和屏幕的界限之间反弹。问题是,当碰撞时,我做的是反转X和Y方向,这样反弹效果就不真实了,你怎么做

@覆盖
ManagedUpdate上的受保护无效(最终浮点psecondsPassed){
如果(this.mX<0){
这个.mpphysicandler.setVelocityX(演示速度);
}else if(this.mX+this.getWidth()>CAMERA\u WIDTH){
这个.mpphysicandler.setVelocityX(-DEMO_-VELOCITY);
}
if(this.mY<0){
这个.mpphysicandler.setVelocityY(演示速度);
}else if(this.mY+this.getHeight()>CAMERA\u HEIGHT){
这个.mpphysicandler.setVelocityY(-DEMO_-VELOCITY);
}
对于(int i=0;i

谢谢。

如果我理解正确,您可以将Body(box2d)用于精灵:

Sprite yourSprite = new Sprite(pX, pY, this.mYourSpriteTextureRegion);
Body yourSpriteBody = PhysicsFactory.createCircleBody(this.mPhysicsWorld, yourSprite , BodyType.DynamicBody, FIXTURE_DEF);
this.mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(yourSprite , yourSpriteBody , true, true));
弹跳将自动进行


查看此

您应该使用andenginephysicboxextension。您将能够设置密度、弹性、摩擦力等,并拥有自己的碰撞处理程序。我喜欢下面的例子:


另外,我建议您阅读有关BodyCollisionHandler的内容。

也许这对您很有用谢谢。我让球掉下来,一次扔掉,但我无法忍受它们在屏幕上移动,不断地相互碰撞和边缘碰撞,你知道吗?检查碰撞过滤示例,你应该能够使它们只与某些边缘碰撞,而不是彼此碰撞