public void create () { Pixmap pixmap1 = new Pixmap(Gdx.files.internal("data/bobargb8888-32x32.png")); cursor1 = Gdx.graphics.newCursor(pixmap1, 16, 16); Pixmap pixmap2 = new Pixmap(32, 32, Format.RGBA8888); pixmap2.setColor(Color.RED); pixmap2.fillCircle(16, 16, 8); cursor2 = Gdx.graphics.newCursor(pixmap2, 16, 16); Pixmap pixmap3 = new Pixmap(32, 32, Format.RGBA8888); pixmap3.setColor(Color.BLUE); pixmap3.fillCircle(16, 16, 8); cursor3 = Gdx.graphics.newCursor(pixmap3, 16, 16); }
Pixmap pixmap = new Pixmap(width, height, Pixmap.Format.RGBA8888); pixmap.setColor(Color.BLACK); pixmap.fillCircle(x, y, r); Texture texture = new Texture(pixmap); // render batch.begin(); batch.draw(texture, x, y); batch.end();
public Pixmap getCircleRectPixmap(int width, int height, int radius, Color color) { Pixmap pixmap = new Pixmap(width + radius * 2 + 1, height + radius * 2 + 1, Format.RGBA8888); pixmap.setFilter(Filter.BiLinear); // 绘制矩形 pixmap.setColor(color); pixmap.fillRectangle(0, radius, pixmap.getWidth(), height); pixmap.fillRectangle(radius, 0, width, pixmap.getHeight()); // 绘制4个圆角 pixmap.fillCircle(radius, radius, radius); pixmap.fillCircle(width + radius, radius, radius); pixmap.fillCircle(width + radius, height + radius, radius); pixmap.fillCircle(radius, height + radius, radius); return pixmap; }
@SuppressWarnings("static-access") public Texture getCircleColorTexture(int radius, Color color) { Texture circle = textures.get("circle" + radius + color.toString()); if (circle == null) { Pixmap pixmap = new Pixmap(radius * 2 + 2, radius * 2 + 2, Format.RGBA8888); pixmap.setColor(color); pixmap.fillCircle(radius + 1, radius + 1, radius); circle = new Texture(pixmap); circle.setFilter(filter, filter); textures.put("circle" + radius + color.toString(), circle); circle.setAssetManager(assets); pixmap.dispose(); } return circle; }
public Halo() { super(); if (!TextureCache.contains( CACHE_KEY )) { Pixmap pixmap = new Pixmap(RADIUS * 2, RADIUS * 2, Pixmap.Format.RGBA8888); pixmap.setColor( 0xFFFFFF0A ); for (int i = 0; i < 50; i++) { pixmap.fillCircle(RADIUS, RADIUS, (int)(RADIUS * (i+1)/50f)); } TextureCache.add( CACHE_KEY, new SmartTexture( pixmap ) ); } texture( CACHE_KEY ); }