在android系统andengine雪碧碰撞

我正在开发通过andengine一个简单的游戏。 我有10个球,这是在screen.i'm随机移动导入球为图片在sprites.if他们在同一移动的坐标,他们通过虽然自己insides.but我想:如果他们在同一coodirnates移动,它们应该改变自己的directions.so他们无法通过自己的insides.how我能做到这一点?

private Runnable mStartCircle = new Runnable() { public void run() { int i = circleNumber++; Scene scene = Level1Activity.this.mEngine.getScene(); float startY = -64.0f; float startX = randomNumber.nextFloat()*(CAMERA_WIDTH-70.0f); float a= randomNumber.nextFloat()*(CAMERA_WIDTH-70.0f); circles[i] = new Sprite(startX, startY, textRegCircle[i]); circles[i].registerEntityModifier( (IEntityModifier) new SequenceEntityModifier ( new MoveModifier(10.0f, circles[i].getX(), a, circles[i].getY(),CAMERA_HEIGHT+64.0f))); } scene.getLastChild().attachChild(circles[i]); if (circleNumber < 10){ mHandler.postDelayed(mStartCircle,1000); } } };

--------------解决方案-------------

每个对象(球)需要一个边界框,或在您的情况下,边界圈,这等于你的精灵的大小。

当游戏更新和任何球位置的变化,你要测试的碰撞。

一圈一圈的碰撞测试是做的最简单的类型。 如果(ball1.pos + ball2.pos)之间的距离小于(ball1.radius + ball2.radius)=碰撞。

然后,通过反转速度或计算新的势头或某事处理冲突。 (您还需要移开对象,使他们不再碰撞)

刚刚申请球之间的物理连接器:

所以它会发生碰撞和反弹。

final FixtureDef boxFixtureDef = PhysicsFactory.createFixtureDef(0.1f, 0.5f, 0.5f);
final Body ballBody = PhysicsFactory.createBoxBody(this.mPhysicsWorld, circles[i],BodyType.DynamicBody, boxFixtureDef);
this.mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(circles[i], ballBody, true, true));
this.mScene.attachChild(circles[i]);

分类:安卓 时间:2012-01-01 人气:0
分享到:

相关文章

  • AndEngine雪碧/ Box2D的身体去除崩溃我的程序没有错误/异常信息? 2012-11-17

    我想提出一个滑板游戏,你必须跳过去使用的Box2D和AndEngine障碍. 我试图让这个当玩家与物体相撞,对象是去除和爆炸被放置在对象老大地位,但一些在精灵移除代码被冻结我的程序导致其结束(甚至不是一个迫使它只是关闭本身并进入我的主页屏幕关闭的消息)并没有错误/异常信息出现在logcat的,所以我不知道是什么原因造成的! 下面是一些代码snippets- 当我创建精灵/界限附上一个JSONObject含有精灵,它是精灵的种类身上,并附加了类似的JSONObject与身体和类型的精灵: /**

  • 如何从现场的Andr​​oid使用Andengine删除雪碧 2014-01-09

    我已经使用了pScene.detachChild(面); 从场景中删除雪碧. 它隐藏的脸对象,但不从场景中删除. 如何从场景中删除? --------------解决方案------------- 删除: http://code.google.com/p/andengineexamples/source/browse/src/org/anddev/andengine/examples/SpriteRemoveExample.java 示例代码: scene.detachChild(childSp

  • AndEngine - 删除特定雪碧与它的身体 2015-01-03

    我想在单击项目时能清除体内. 正如你看到的我有它设置为wallfixture. 当单击该项目精灵被删除,现在我只是想也清除体内.. public void addSprites(Scene scene, int x,int y,int width,int height,String type,Body body){ Sprite sprite = null; if(type.equals(TAG_ENTITY_ATTRIBUTE_TYPE_VALUE_WOOD)) { sprite = new

  • 在AndEngine缩放后雪碧不旋转 2013-10-19

    有一个圆圈我想旋转. 如果不进行缩放其旋转完美,但是当它被缩放它不转动其中心点. 我使用.setsize( - )的功能扩展和.setrotation( - )函数来转动. 任何一个可以给我的解决方案? --------------解决方案------------- 当您缩放雪碧和调用setRotation()之前,请务必和呼叫 yourSprite.setRotationCenter(pRotationCenterX, pRotationCenterY)

  • 隐蔽到从雪碧位图 2012-07-24

    我使用andengine作出的Andr​​oid游戏. 我要做个了一些精灵为研究对象,在那里我可以旋转精灵. 但是,当我触碰图像的透明部分还是它旋转的精灵. 为了防止这种情况,我需要从雪碧得到位图. 因此,谁能为提供的方法,通过使用我能精灵转换为位图. 我看着这link.But在这个它使用GLES1,但我与GLES2工作. 位图精灵点击链接了解更多 --------------解决方案------------- 如果你还没有看到这一点,还有的像素完美碰撞GLES2版本. 它的一个机器人的扩展名为

  • 雪碧转换使用不同的报名点和旋转的BitmapData 2013-01-07

    我试图转换雪碧我有进入的BitmapData这样我就可以执行一些碰撞检测. 大约有精灵使用的方式,正在比我预期的更加困难的几件事情: 雪碧本身是认为实际上有它绘制的框中选择另一个雪碧的容器. 内的Sprite位于负一半的宽度的高度,以便它可以从通过该容器的中心旋转. 该容器可在任何角度在任何给定时间被旋转 所以,我的做法迄今一直试图画外雪碧到一个新的BitmapData Matrix对象来解释这个差异. 虽然我可以用一个矩阵,使这项工作对于一个特定的旋转角度,我无法找到一种方法,使之成为任何轮流

  • 更改雪碧位置onAccelerometerChanged 2014-04-29

    我在AndEngine是新的. 我用animatedSprite和Sprite对象. 我想移动雪碧加速度计的基础上,但我不希望也动animatedSprite. 我想physicsworld实施 private void addBottomFace(final float pX, final float pY) { myBottomSticFace = new Sprite(pX, pY, myBottomStickTextureRegion); myBottomStickBody = Phys

  • 在ActionScript 3雪碧我如何绘制文字? 2012-01-07

    我有一些精灵的用户可以操纵,左右拖动和调整大小. 现在,我希望能在那些精灵显示文本. 我试过很多,可能是愚蠢的,方式. 就像从标签继承并添加一个Label孩子的精灵,但没有文字显示出来. 一个令人不安的事:从标签继承我得到的文本显示出来,如果​​我运行在调试和检查我的标签子类的实例. 我有这种感觉,我失去了一些东西真的很明显. 这是怎么做的,正确的方法是什么? --------------解决方案------------- 我会去的东西更低水平比标签. 使用文本字段,并将其添加为一个孩子的雪碧:

  • 雪碧没有使用整个浏览器的宽度Flex应用程序扩展(闪存/ Flex的) 2012-01-08

    我有一个简单的HelloWorld应用程序的弹性生成器完成. 它只是扩展雪碧一个简单的类. 在专用的Flash播放器中,SWF显示了占据整个屏幕. 在Firefox,然而,无论是在HTML和孤独,它显示在右边. 有一个简单的治疗呢? 代码只是一个构造函数(其中stage.stageWidth和stageHeight被正确读取,奇怪),它增加了一个文本字段的雪碧,并设置大小stage.stageWidth和stage.stageHeight. 编辑:要无济于事我已经试过移动构造函数的内容到Even

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.261 (s). 10 q(s)