package com.yarin.android.MagicTower;
import android.content.Context;
import android.graphics.Canvas;
import android.util.Log;
import android.view.View;
public class ThreadCanvas extends View implements Runnable
{
private String m_Tag = "ThreadCanvas_Tag";
public ThreadCanvas(Context context)
{
super(context);
}
/**
* ��ͼ
*
* @param N
* /A
*
* @return null
*/
protected void onDraw(Canvas canvas)
{
if (MainGame.getMainView() != null)
{
MainGame.getMainView().onDraw(canvas);
}
else
{
Log.i(m_Tag, "null");
}
}
/**
* ��ͼ��ʾ
*
*/
public void start()
{
Thread t = new Thread(this);
t.start();
}
// ˢ�½���
public void refurbish()
{
if (MainGame.getMainView() != null)
{
MainGame.getMainView().refurbish();
}
}
/**
* ��Ϸѭ��
*
* @param N
* /A
*
* @return null
*/
public void run()
{
while (true)
{
try
{
Thread.sleep(yarin.GAME_LOOP);
}
catch (Exception e)
{
e.printStackTrace();
}
refurbish(); // ������ʾ
postInvalidate(); // ˢ����Ļ
}
}
// ��������(��������)
boolean onKeyDown(int keyCode)
{
if (MainGame.getMainView() != null)
{
MainGame.getMainView().onKeyDown(keyCode);
}
else
{
Log.i(m_Tag, "null");
}
return true;
}
// ��������
boolean onKeyUp(int keyCode)
{
if (MainGame.getMainView() != null)
{
MainGame.getMainView().onKeyUp(keyCode);
}
else
{
Log.i(m_Tag, "null");
}
return true;
}
}