什么是java.awt.geom.Area的android等价物?

我想build立复杂的形状作为两个圆形和一个矩形的交集。 经过研究, java.awt.geom.Area类似乎是完美的任务。

然而,当我发现awt软件包没有附带android SDK的时候,我感到非常awt 。 有谁知道的任何替代品的Android,允许我创build复杂的形状通过定义联合和简单形状的交集?

注意:使用graphics裁剪来绘制形状是行不通的,因为我不只是想绘制形状,我还希望将形状存储在内存中以进行碰撞检测和其他交互。

  • Android - 如何以编程方式定义ShapeDrawables?
  • 如何在Android Canvas上绘制实心三angular形
  • Android可绘制:在XML文件中以百分比forms指定形状宽度?
  • 在Android上的形状上绘制顶部边框
  • Android - 自定义button的形状drawables和梯度编程
  • 我如何画一个箭头(在Android中)?
  • Android:具有圆形投影的布局
  • 有两个纯色的矩形形状
  • Android java.awt.geom.Area的替代软件

    编辑 :@numan指出了一个很好的select,使用Android SDK中的一些类,我不知道在原来的答案时:

    https://developer.android.com/reference/android/graphics/Region.html https://developer.android.com/reference/android/graphics/Region.Op.html

    Region允许您定义几何区域,然后可以使用Region.Op enum Region s op()方法来计算交点和更复杂的形状。

    其他一些选项

    您可以使用Canvas绘制自定义形状,特别是使用剪辑*方法:

    http://developer.android.com/reference/android/graphics/Canvas.html

    这里是一些关于Android的2Dgraphics的页面:

    http://developer.android.com/guide/topics/graphics/2d-graphics.html http://developer.android.com/guide/topics/graphics/2d-graphics.html#shape-drawable http:// developer.android.com/guide/topics/graphics/opengl.html

    如果您的graphics保持相同(或大致相同),则可以使用其他一些很好的选项:基于XML:

    http://developer.android.com/guide/topics/graphics/2d-graphics.html#drawables-from-xml

    我发现一个很整齐的解决scheme是使用9个补丁的drawables:

    http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch

    碰撞检测这可能是为了你的目的矫枉过正,但有一些游戏物理库:

    http://www.andengine.org http://code.google.com/p/andengineexamples/

    http://bulletphysics.org

    http://www.emini.at/

    http://www.dremsus.com/index.php/2012/01/box2d-game-demo-in-android/

    Android,libgdx和box2d基础知识

    或者你可以推出自己的解决scheme:

    http://cooers.blogspot.com/2012/08/simple-collision-detection-in-2d.html

    http://content.gpwiki.org/index.php/Polygon_Collision

    http://www.codeproject.com/Questions/244344/Collision-Detection-in-Android

    Android上旋转位图的碰撞检测

    这真的取决于目的; 对于游戏,你可能最好只使用一个库; 但是如果碰撞检测是您需要的唯一function,您最好自己动手节省资源。

    额外信用:Android库的一些索引

    http://www.appbrain.com/stats/libraries/dev

    http://www.theultimateandroidlibrary.com/

    http://www.openintents.org/en/

    Android UI使用Skia进行graphics渲染,而skia使用“ 区域”抽象对path或Rects上的形状(例如相交,联合,减去。参见Region.Op类)形状进行设置操作。

    使用Region.quickContains或Region.quickReject方法,Region类也可以用于简单的碰撞检测。