【发布时间】:2013-08-24 07:18:55
【问题描述】:
所以我一直试图弄清楚如何将形状和图像绘制到表面视图。 iv 一直在使用多个教程。但现在我迷路了。我有一个线程,它有我的游戏循环,据我所知,我在这个循环中有所有变量更新
public void run() {
Canvas c;
while (running) {
c = null;
try {
c = surfaceHolder.lockCanvas(null);
synchronized (surfaceHolder) {
//Insert methods to modify positions of items in onDraw()
}
} finally {
if (c != null) {
surfaceHolder.unlockCanvasAndPost(c);
}
}
}
}
我有一个具有 onDraw(Canvas canvas) 方法的surfaceView。假设我想在我的屏幕上添加椭圆我如何从我的线程中的 while 循环中做到这一点
我目前在我的线程类中有这些变量
private SurfaceHolder surfaceHolder;
private gameMain gamePanel; //my surfaceview class
private boolean running;
我需要在我的surfaceview类中使用它吗?
setWillNotDraw(false);
如果我做错了,人们会指出来。我不想使用 openGL 或任何库
【问题讨论】:
标签: java android multithreading android-canvas surfaceview