Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在surfaceView上独立绘制?有办法吗?_Android_View_Android Canvas_Surfaceview_Android Graphics - Fatal编程技术网

Android 如何在surfaceView上独立绘制?有办法吗?

Android 如何在surfaceView上独立绘制?有办法吗?,android,view,android-canvas,surfaceview,android-graphics,Android,View,Android Canvas,Surfaceview,Android Graphics,我想建立一个dx球类游戏。在我的游戏中,我想分别画一个球、一个杆、一块砖。这意味着当球的位置准备好时,球就会抽签;当砖块准备好时,砖块就会抽丝。在正常情况下,我锁定曲面保持器,然后绘制所有内容。示例-> @Override public void run() { while(ballPlay){ try{ gameCanvas = null; gameCanvas = surfaceHolder.lockCanvas();

我想建立一个dx球类游戏。在我的游戏中,我想分别画一个球、一个杆、一块砖。这意味着当球的位置准备好时,球就会抽签;当砖块准备好时,砖块就会抽丝。在正常情况下,我锁定曲面保持器,然后绘制所有内容。示例->

@Override
public void run() {
    while(ballPlay){
        try{
            gameCanvas = null;

            gameCanvas = surfaceHolder.lockCanvas();
            gameCanvas.drawColor(Color.WHITE);
            ballPosition.drawBall(gameCanvas);
            for (int i = 0; i < brickCount; i++) {
                brick[i].drawBrick(gameCanvas);
            }
            gameBar.drawBar(gameCanvas);
        }catch (Exception e){
            e.printStackTrace();
        } finally {
            if(gameCanvas!=null){
                surfaceHolder.unlockCanvasAndPost(gameCanvas);
            }
        }
    }
}
@覆盖
公开募捐{
while(棒球){
试一试{
gameCanvas=null;
gameCanvas=surfaceHolder.lockCanvas();
gameCanvas.drawColor(颜色:白色);
球位.牵引杆(游戏画布);
for(int i=0;i
然后,我们解锁它并发布。但是,我怎么能把所有的东西都分开画呢?
提前谢谢

你可以在实时游戏中观看这段老的Google IO视频:如果你要更新所有的球,那么你必须更新所有的球,但是如果你只更新一个球,那么你可以通过invalidate(Dirty)来完成。这将只更新该rect。要了解更多信息,你可以用谷歌搜索。