एक साधारण खेल बनाने के लिए, मैंने एक टेम्पलेट का उपयोग किया जो कि इस तरह से बिटमैप के साथ एक कैनवास खींचता है:
private void doDraw(Canvas canvas) {
for (int i=0;i<8;i++)
for (int j=0;j<9;j++)
for (int k=0;k<7;k++) {
canvas.drawBitmap(mBits[allBits[i][j][k]], i*50 -k*7, j*50 -k*7, null); } }
(कैनवास को "रन ()" / सरफेस व्यू में गेमट्रेड में रहने के लिए परिभाषित किया गया है।)
मेरा पहला सवाल यह है कि मैं एक नए लेआउट के लिए पूरे कैनवास को कैसे (या रिड्रा) स्पष्ट करूं ?
दूसरा, मैं स्क्रीन के एक हिस्से को कैसे अपडेट कर सकता हूं?
// This is the routine that calls "doDraw":
public void run() {
while (mRun) {
Canvas c = null;
try {
c = mSurfaceHolder.lockCanvas(null);
synchronized (mSurfaceHolder) {
if (mMode == STATE_RUNNING)
updateGame();
doDraw(c); }
} finally {
if (c != null) {
mSurfaceHolder.unlockCanvasAndPost(c); } } } }