本文整理汇总了Java中com.badlogic.gdx.utils.ShortArray.get方法的典型用法代码示例。如果您正苦于以下问题:Java ShortArray.get方法的具体用法?Java ShortArray.get怎么用?Java ShortArray.get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.badlogic.gdx.utils.ShortArray
的用法示例。
在下文中一共展示了ShortArray.get方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getGraphFromTriangulation
import com.badlogic.gdx.utils.ShortArray; //导入方法依赖的package包/类
private Multigraph<GameRoom, NoDuplicateEdge> getGraphFromTriangulation(ShortArray trianglesIndices, Array<GameRoom> rooms) {
Gdx.app.log("GraphGenerator", " --> Generating graph from triangulation");
Multigraph<GameRoom, NoDuplicateEdge> graph = new Multigraph<>(NoDuplicateEdge.class);
int indexCount = trianglesIndices.size;
for (int i = 2; i < indexCount; i += 3) {
short index1 = trianglesIndices.get(i - 2);
short index2 = trianglesIndices.get(i - 1);
short index3 = trianglesIndices.get(i);
GameRoom room1 = rooms.get(index1);
GameRoom room2 = rooms.get(index2);
GameRoom room3 = rooms.get(index3);
graph.addVertex(room1);
graph.addVertex(room2);
graph.addVertex(room3);
if (!graph.containsEdge(room1, room2)) graph.addEdge(room1, room2);
if (!graph.containsEdge(room2, room3)) graph.addEdge(room2, room3);
if (!graph.containsEdge(room3, room1)) graph.addEdge(room3, room1);
}
return graph;
}
示例2: drawBounds
import com.badlogic.gdx.utils.ShortArray; //导入方法依赖的package包/类
/** Draw bounding boxes (hitbox/collision detection) */
private void drawBounds() {
boolean polyTriangles = false;
for (Entity entity : objects) {
BoundsComponent bounds = Mappers.bounds.get(entity);
TransformComponent t = Mappers.transform.get(entity);
if (bounds != null) {
//draw Axis-Aligned bounding box
Rectangle rect = bounds.poly.getBoundingRectangle();
shape.setColor(1, 1, 0, 1);
shape.rect(t.pos.x - rect.width/2, t.pos.y - rect.height/2, rect.width, rect.height);
//draw Orientated bounding box
shape.setColor(1, 0, 0, 1);
shape.polygon(bounds.poly.getTransformedVertices());
if (polyTriangles) {
// draw triangles
shape.setColor(Color.BLUE);
FloatArray points = new FloatArray(bounds.poly.getTransformedVertices());
ShortArray triangles = tri.computeTriangles(points, false);
for (int i = 0; i < triangles.size; i += 3) {
int p1 = triangles.get(i) * 2;
int p2 = triangles.get(i + 1) * 2;
int p3 = triangles.get(i + 2) * 2;
shape.triangle(
points.get(p1), points.get(p1 + 1),
points.get(p2), points.get(p2 + 1),
points.get(p3), points.get(p3 + 1));
}
}
}
}
}
示例3: triangulate
import com.badlogic.gdx.utils.ShortArray; //导入方法依赖的package包/类
/** @param concave the concave polygon to triangulate
* @return an array of triangles representing the given concave polygon
* @see com.badlogic.gdx.math.EarClippingTriangulator#computeTriangles(float[]) */
public static Polygon[] triangulate(Polygon concave) {
Vector2[] polygonVertices = toVector2Array(concave.getTransformedVertices());
ShortArray indices = new EarClippingTriangulator().computeTriangles(toFloatArray(polygonVertices));
Vector2[] vertices = new Vector2[indices.size];
for(int i = 0; i < indices.size; i++)
vertices[i] = polygonVertices[indices.get(i)];
return toPolygonArray(vertices, 3);
}