public class Stage1 extends View {
private Bitmap block[] = new Bitmap[3];
int w = block[1].getWidth() - 40;//블록 넓이
int h = block[1].getHeight() - 40;//블록 높이
int[][] lv1 = {
{0, 1, 2},
{0, 1, 2},
{2, 1, 0},
{0, 2, 0}
};
//초기화
public Stage1(Context context) {
super(context);
// final static int f =
Resources r = getResources();
//맵 타일 읽기
block[0] = null;
block[1] = BitmapFactory.decodeResource(r, R.drawable.blank);
block[2] = BitmapFactory.decodeResource(r, R.drawable.fire);
}
public void onDraw(Canvas canvas) {
Bitmap backimage = BitmapFactory.decodeResource(getResources(), R.drawable.bg1);
canvas.drawBitmap(backimage, 0, 0, null);
int idx = 1;//블록인덱스값
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 3; j++) {
idx = lv1[i][j];
if (idx == 0)
continue;
canvas.drawBitmap(block[idx], w * j, h * i, null);
}
}
}
}
------
게임 맵에 관한거구요. lv1 부분의 0이 빈칸, 1이 빈타일, 2가 어떤 오브젝트가 들어갈 자리인데.
lv1[3][1] 자리를 클릭하면, lv1[3][2]자리가 '2'로 다른 이미지를 출력하게끔 하고 싶어요.
근데 이게 비트맵으로 처리하니까 뭐가 되게 까다롭네요. 이미지 직접 클릭은 안되고 좌표로 클릭 이벤트 설정해줘야된다는데
구글링해봐도 배열 데이터를 바꾸는 것에 대한? 자료는 잘 안보여서 그런데 코드좀 써주시면 안될까요?