public void draw(int dx, int dy){
if(dx < 0 || dy < 0 || dx >= pixmap.getWidth() || dy >= pixmap.getHeight()){
return;
}
Gdx.gl.glBindTexture(GL20.GL_TEXTURE_2D, texture.getTextureObjectHandle());
int dstWidth = brushSize*2-1;
int dstHeight = brushSize*2-1;
int width = pixmap.getWidth(), height = pixmap.getHeight();
int x = dx - dstWidth/2;
int y = dy - dstHeight/2;
if (x + dstWidth > width){
x = width - dstWidth;
}else if (x < 0){
x = 0;
}
if (y + dstHeight > height){
dstHeight = height - y;
}else if (y < 0){
dstHeight += y;
y = 0;
}
pixmap.fillCircle(dx, dy, brushSize-1);
Pixmap dst = brush(brushSize);
dst.drawPixmap(pixmap, x, y, dstWidth, dstHeight, 0, 0, dstWidth, dstHeight);
Gdx.gl.glTexSubImage2D(GL20.GL_TEXTURE_2D, 0, x, y, dstWidth, dstHeight,
dst.getGLFormat(), dst.getGLType(), dst.getPixels());
}
MapEditor.java 文件源码
java
阅读 37
收藏 0
点赞 0
评论 0
项目:Mindustry
作者:
评论列表
文章目录