public class GameThread extends Thread {
SurfaceHolder mHolder;
int color;
int Rc=0;
int Gc=0;
int Bc=0;
//--------------------------------------
// Thread Constructor
//--------------------------------------
public GameThread(Context context, SurfaceHolder holder) {
mHolder = holder;
}
//--------------------------------------
// Thread run
//--------------------------------------
public void run() {
while (true) {
Canvas canvas = mHolder.lockCanvas();
try {
synchronized (mHolder) {
Rc = getRr();
Gc = getGr();
Bc = getBr();
color = Color.rgb(Rc, Gc, Bc);
Log.e("Inside_Thread",Integer.toString(color)+"");
//Paint fontPaint = new Paint();
//fontPaint.setTextSize(15f);
//fontPaint.setColor(Color.RED);
canvas.drawColor(color);
//canvas.drawText(Integer.toString(count), 10, 40, fontPaint);
}
} finally {
if (canvas != null) {
mHolder.unlockCanvasAndPost(canvas);
}
}
} // while
} // run()
Thread run() 부분에서 외부 함수를 불러와 Thread 변수에 저장하고, 그 변수를 가지고 계속 작업하려고 합니다.
계속해서 새롭게 업데이트 되는 것을 읽어와야 하는데 도무지 새롭게 읽어오지를 않네요..무엇이 잘못된건가요?
말씀하신 방법도 생각해보겠습니다.
계속 초기화가 된다는 말씀이신건지... 궁금하네요. 저는 저런식으로 사용하지 않고 Thread자체를 이너클래스로 만들어서 외부것을 가져와 사용하는데. 그냥 이너클래스가 편해서 사용하는 사람입니다. 객체지향적으로는 좀 뒤쳐진... 하나의 방법이니 생각해보세요. ^^