Android 如何在surfaceView上独立绘制?有办法吗?
我想建立一个dx球类游戏。在我的游戏中,我想分别画一个球、一个杆、一块砖。这意味着当球的位置准备好时,球就会抽签;当砖块准备好时,砖块就会抽丝。在正常情况下,我锁定曲面保持器,然后绘制所有内容。示例->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();
@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。要了解更多信息,你可以用谷歌搜索。