Кнопка на холсте

Я пытаюсь сделать простую игру, которая использует Canvas, и я хочу поместить что-то вроде кнопки в правом верхнем углу, которая позволяет вам приостановить игру. Каков был бы лучший способ сделать это?

Я думал о том, чтобы нарисовать эти две линии, которые символизируют паузу на холсте и паузу в игре после того, как игрок щелкает по локациям, но разве нет лучшего способа?

Я помещаю здесь также картинку, чтобы показать вам, как я хочу, чтобы она выглядела так:

введите описание изображения здесь

1 ответ

Я использую относительное расположение, чтобы управлять всеми вещами.

1) найти относительное расположение

2) добавить что-то в свой RelativeLayout

3) добавить холст в свой RelativeLayout

Мой пример ниже рисует четыре кнопки простым циклом for и добавляет холст.

Пример:

RelativeLayout layout = (RelativeLayout)findViewById(R.id.bb);
for (int i=0; i<4; i++) {
    Button btn = new Button(this);
    btn.setId(i);
    btn.setText("some_text");
    btn.setHeight(i*100);
    btn.setX(100*i);
    btn.setY(100*i);
    layout.addView(btn);
}
YourDesign abc=new YourDesign(this);
layout.addView(abc);

Вы можете считать "YourDesign" классом вашего холста.

Пример холста:

public class YourDesign extends View{

Bitmap picture;
int x=0;

public YourDesign(Context context) {
    super(context);
    picture=BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
}

@Override
protected void onDraw(Canvas canvas) {
    // TODO Auto-generated method stub
    super.onDraw(canvas);
    canvas.drawBitmap(picture, x, 100, new Paint());
    x++;
    if(x>canvas.getWidth())
        x=0;
    invalidate();
}
Другие вопросы по тегам