• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java ShortArray类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.badlogic.gdx.utils.ShortArray的典型用法代码示例。如果您正苦于以下问题:Java ShortArray类的具体用法?Java ShortArray怎么用?Java ShortArray使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ShortArray类属于com.badlogic.gdx.utils包,在下文中一共展示了ShortArray类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: setColor

import com.badlogic.gdx.utils.ShortArray; //导入依赖的package包/类
public void setColor(int color) {
    Pixmap pix = new Pixmap(1, 1, Pixmap.Format.RGBA8888);
    pix.setColor(color);
    pix.fill();
    Texture tex = new Texture(pix);
    TextureRegion region = new TextureRegion(tex);

    Point p1 = (Point) parent.getPoints().toArray()[0];
    Point p2 = (Point) parent.getPoints().toArray()[1];
    Point p3 = (Point) parent.getPoints().toArray()[2];
    Point p4 = (Point) parent.getPoints().toArray()[3];
    Point p5 = (Point) parent.getPoints().toArray()[4];
    Point p6 = (Point) parent.getPoints().toArray()[5];

    float[] vertices = new float[]{(
            float) p1.getCoordinateX(), (float)p1.getCoordinateY(),
            (float)p2.getCoordinateX(), (float)p2.getCoordinateY(),
            (float)p3.getCoordinateX(), (float)p3.getCoordinateY(),
            (float) p4.getCoordinateX(), (float)p4.getCoordinateY(),
            (float)p5.getCoordinateX(), (float)p5.getCoordinateY(),
            (float)p6.getCoordinateX(), (float)p6.getCoordinateY()};
    EarClippingTriangulator triangulator = new EarClippingTriangulator();
    ShortArray triangleIndices = triangulator.computeTriangles(vertices);
    PolygonRegion polygonRegion = new PolygonRegion(region, vertices, triangleIndices.toArray());
    sprite = new PolygonSprite(polygonRegion);
}
 
开发者ID:MartensCedric,项目名称:LD38-Compo,代码行数:27,代码来源:TileData.java


示例2: trim

import com.badlogic.gdx.utils.ShortArray; //导入依赖的package包/类
/** Removes all triangles with a centroid outside the specified hull, which may be concave. Note some triangulations may have
 * triangles whose centroid is inside the hull but a portion is outside. */
public void trim (ShortArray triangles, float[] points, float[] hull, int offset, int count) {
	short[] trianglesArray = triangles.items;
	for (int i = triangles.size - 1; i >= 0; i -= 3) {
		int p1 = trianglesArray[i - 2] * 2;
		int p2 = trianglesArray[i - 1] * 2;
		int p3 = trianglesArray[i] * 2;
		GeometryUtils.triangleCentroid(points[p1], points[p1 + 1], points[p2], points[p2 + 1], points[p3], points[p3 + 1],
			centroid);
		if (!Intersector.isPointInPolygon(hull, offset, count, centroid.x, centroid.y)) {
			triangles.removeIndex(i);
			triangles.removeIndex(i - 1);
			triangles.removeIndex(i - 2);
		}
	}
}
 
开发者ID:basherone,项目名称:libgdxcn,代码行数:18,代码来源:DelaunayTriangulator.java


示例3: triangulate

import com.badlogic.gdx.utils.ShortArray; //导入依赖的package包/类
private void triangulate () {
	int[] vertexTypes = this.vertexTypes.items;

	while (vertexCount > 3) {
		int earTipIndex = findEarTip();
		cutEarTip(earTipIndex);

		// The type of the two vertices adjacent to the clipped vertex may have changed.
		int previousIndex = previousIndex(earTipIndex);
		int nextIndex = earTipIndex == vertexCount ? 0 : earTipIndex;
		vertexTypes[previousIndex] = classifyVertex(previousIndex);
		vertexTypes[nextIndex] = classifyVertex(nextIndex);
	}

	if (vertexCount == 3) {
		ShortArray triangles = this.triangles;
		short[] indices = this.indices;
		triangles.add(indices[0]);
		triangles.add(indices[1]);
		triangles.add(indices[2]);
	}
}
 
开发者ID:basherone,项目名称:libgdxcn,代码行数:23,代码来源:EarClippingTriangulator.java


示例4: write

import com.badlogic.gdx.utils.ShortArray; //导入依赖的package包/类
@Override
public void write(Kryo kryo, Output output, ShortArray array) {
    output.writeVarInt(array.size, true);
    output.writeBoolean(array.ordered);
    for (int i = 0; i < array.size; i++) {
        output.writeShort(array.get(i));
    }
}
 
开发者ID:CypherCove,项目名称:gdx-cclibs,代码行数:9,代码来源:ShortArraySerializer.java


示例5: read

import com.badlogic.gdx.utils.ShortArray; //导入依赖的package包/类
@Override
public ShortArray read(Kryo kryo, Input input, Class<ShortArray> type) {
    int length = input.readVarInt(true);
    boolean ordered = input.readBoolean();
    ShortArray array = new ShortArray(ordered, length);
    for (int i = 0; i < length; i++) {
        array.add(input.readShort());
    }
    return array;
}
 
开发者ID:CypherCove,项目名称:gdx-cclibs,代码行数:11,代码来源:ShortArraySerializer.java


示例6: 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;
    }
 
开发者ID:LeonardBesson,项目名称:DunGen,代码行数:30,代码来源:GraphGenerator.java


示例7: 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));
				}
			}
		}
	}
}
 
开发者ID:0XDE57,项目名称:SpaceProject,代码行数:37,代码来源:DebugUISystem.java


示例8: computeTriangles

import com.badlogic.gdx.utils.ShortArray; //导入依赖的package包/类
/** Triangulates the given (convex or concave) simple polygon to a list of triangle vertices.
 * @param vertices pairs describing vertices of the polygon, in either clockwise or counterclockwise order.
 * @return triples of triangle indices in clockwise order. Note the returned array is reused for later calls to the same
 *         method. */
public ShortArray computeTriangles (float[] vertices, int offset, int count) {
	this.vertices = vertices;
	int vertexCount = this.vertexCount = count / 2;

	ShortArray indicesArray = this.indicesArray;
	indicesArray.clear();
	indicesArray.ensureCapacity(vertexCount);
	indicesArray.size = vertexCount;
	short[] indices = this.indices = indicesArray.items;
	if (areVerticesClockwise(vertices, offset, count)) {
		for (short i = 0; i < vertexCount; i++)
			indices[i] = i;
	} else {
		for (int i = 0, n = vertexCount - 1; i < vertexCount; i++)
			indices[i] = (short)(n - i); // Reversed.
	}

	IntArray vertexTypes = this.vertexTypes;
	vertexTypes.clear();
	vertexTypes.ensureCapacity(vertexCount);
	for (int i = 0, n = vertexCount; i < n; ++i)
		vertexTypes.add(classifyVertex(i));

	// A polygon with n vertices has a triangulation of n-2 triangles.
	ShortArray triangles = this.triangles;
	triangles.clear();
	triangles.ensureCapacity(Math.max(0, vertexCount - 2) * 3);
	triangulate();
	return triangles;
}
 
开发者ID:basherone,项目名称:libgdxcn,代码行数:35,代码来源:EarClippingTriangulator.java


示例9: cutEarTip

import com.badlogic.gdx.utils.ShortArray; //导入依赖的package包/类
private void cutEarTip (int earTipIndex) {
	short[] indices = this.indices;
	ShortArray triangles = this.triangles;

	triangles.add(indices[previousIndex(earTipIndex)]);
	triangles.add(indices[earTipIndex]);
	triangles.add(indices[nextIndex(earTipIndex)]);

	indicesArray.removeIndex(earTipIndex);
	vertexTypes.removeIndex(earTipIndex);
	vertexCount--;
}
 
开发者ID:basherone,项目名称:libgdxcn,代码行数:13,代码来源:EarClippingTriangulator.java


示例10: 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);
}
 
开发者ID:lukz,项目名称:Simple-Isometric-Game,代码行数:12,代码来源:GeometryUtils.java


示例11: toArray

import com.badlogic.gdx.utils.ShortArray; //导入依赖的package包/类
/** Returns a new array containing the remaining keys. */
public ShortArray toArray () {
	ShortArray array = new ShortArray(true, map.size);
	while (hasNext)
		array.add(next());
	return array;
}
 
开发者ID:0x0ade,项目名称:shadow-engine,代码行数:8,代码来源:ShortMap.java


示例12: generateMinimalSpanningTree

import com.badlogic.gdx.utils.ShortArray; //导入依赖的package包/类
public Multigraph<GameRoom, NoDuplicateEdge> generateMinimalSpanningTree(Array<GameCell> cells, float remainingEdgesMultiplier) {
        Gdx.app.log("GraphGenerator", "----------------- Generating minimal spanning tree -----------------");

        Array<GameRoom> rooms = GameMap.extractRooms(cells);
        ShortArray trianglesIndices = generateTrianglesIndices(cells);

        Multigraph<GameRoom, NoDuplicateEdge> graph = getGraphFromTriangulation(trianglesIndices, rooms);

        Set<NoDuplicateEdge> minEdges = new KruskalMinimumSpanningTree(graph).getMinimumSpanningTreeEdgeSet();
//        Set<NoDuplicateEdge> minEdges = new PrimMinimumSpanningTree(graph).getMinimumSpanningTreeEdgeSet();

        minimumSpanningTreeFromGraph(graph, minEdges, remainingEdgesMultiplier);

        Gdx.app.log("GraphGenerator", "  --> Graph is now a minimal spanning tree. Edge count: " + graph.edgeSet().size());

        return graph;
    }
 
开发者ID:LeonardBesson,项目名称:DunGen,代码行数:18,代码来源:GraphGenerator.java


示例13: computeTriangles

import com.badlogic.gdx.utils.ShortArray; //导入依赖的package包/类
/** @see #computeTriangles(float[], int, int, boolean) */
public ShortArray computeTriangles (FloatArray points, boolean sorted) {
	return computeTriangles(points.items, 0, points.size, sorted);
}
 
开发者ID:basherone,项目名称:libgdxcn,代码行数:5,代码来源:DelaunayTriangulator.java


示例14: generateTrianglesIndices

import com.badlogic.gdx.utils.ShortArray; //导入依赖的package包/类
private ShortArray generateTrianglesIndices(Array<GameCell> cells) {

        Gdx.app.log("GraphGenerator", "  --> Generating Delaunay Triangulation");

        float[] roomCenterPoints = getRoomCenterPoints(cells);

        return new DelaunayTriangulator().computeTriangles(roomCenterPoints, false);
    }
 
开发者ID:LeonardBesson,项目名称:DunGen,代码行数:9,代码来源:GraphGenerator.java


示例15: getTriangles

import com.badlogic.gdx.utils.ShortArray; //导入依赖的package包/类
/**
 * Returns an array of vertex indices that the define the triangles which
 * make up this {@link Polygon}
 * 
 * @return Array of triangle indices
 */
public ShortArray getTriangles() {
	trianglesDirtyCheck();
	return triangles;
}
 
开发者ID:mini2Dx,项目名称:mini2Dx,代码行数:11,代码来源:Polygon.java



注:本文中的com.badlogic.gdx.utils.ShortArray类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java CharacterUtils类代码示例发布时间:2022-05-22
下一篇:
Java Cursor类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap