MapEditor.java 文件源码

java
阅读 37 收藏 0 点赞 0 评论 0

项目:Mindustry 作者:
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());
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号