1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
public class GameSurface extends SurfaceView implements SurfaceHolder.Callback
{
private GameTread gameTread ;
public SurfaceHolder holder ;
Rect rect ;
Paint paint ;
public GameSystem gameSystem ;
ArrayList<String> request ;
int dX = 0, dY = 0 ;
float x, y ;
boolean refreshOk = false ;
Context c;
public GameSurface(Context context, String word, int u )
{
super(context);
c = context;
gameTread = new GameTread(this);
holder = getHolder();
holder.addCallback(this);
paint = new Paint();
paint.setColor(Color.BLUE);
request = new ArrayList<String>();
gameSystem = new GameSystem( request, word, u ) ;
rect = new Rect();
rect.set(0,0,10,10);
x = 0 ; y = 0 ;
}
public void draw(Canvas canvas)
{
if (holder!=null)
{
Canvas ccc = holder.lockCanvas();
if (ccc!=null)
{
ccc.drawRect(rect, paint);
gameSystem.update(ccc) ;
gameSystem.drawHUD(ccc);
holder.unlockCanvasAndPost(ccc);
}
}
}
@Override
public void surfaceCreated(SurfaceHolder holder)
{
if(gameTread.getState()==Thread.State.TERMINATED)
{
gameTread = new GameTread(this);
}
try
{
}
catch ( Exception e)
{
e.printStackTrace();
}
gameTread.setRunning(true);
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height)
{
rect = new Rect(0,0,width,height);
gameSystem.init(c, width, height) ;
gameTread.start();
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
}
} |
Partager