Я пытаюсь сделать игру.У меня есть mainActivity
, который называется BridgeScene
, и класс для врага.В mainActivity
у меня есть две ImageView
s и несколько кнопок.
В моем классе у меня есть враг (представлен прямоугольником), и я использую Canvas
, чтобы нарисовать прямоугольник.Мне нужно нарисовать этот прямоугольник на моей BridgeScene
Деятельности.Как я могу это сделать?
Я не могу установить contentview
дважды, потому что он уже задан в действии как
setContentView(R.layout.activity_bridge_scene);
Так как я могу нарисовать мой прямоугольник из своего класса противника вмоя BridgeScene
активность?
моя активность:
public class BridgeScene extends AppCompatActivity {
private static final int[] ALL_DRAWABLE_RES_EAGLE = new int[]{
R.drawable.stickmanreturnkick0,
R.drawable.stickmanreturnkick1,
};
private Ennemy1 ennemy1;
private Handler handler = new Handler();
private final static long Interval = 30;
private Runnable updateImageTask;
private int currentDrawableResIndex;
private static long IMAGE_UPDATE_DELAY_MILLIS = 30;
private ImageView imvStickman;
private ImageView imvJump;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bridge_scene);
ennemy1 = new Ennemy1(this);
setContentView(ennemy1);
updateImageTask = new UpdateImageTask();
imvJump = (ImageView) findViewById(R.id.imvJump);
imvStickman = (ImageView) findViewById(R.id.imvStickman);
imvEnnemi = (ImageView) findViewById(R.id.imvEnnemi);
imvJump.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//code//
}
});
}
}
мой класс:
public class Ennemy1 extends View{
public Bitmap rec;
public int recX;
public int recY;
public int canvasWidth;
public int canvasHeight;
public Ennemy1(Context context){
super(context);
rec = BitmapFactory.decodeResource(getResources(), R.drawable.enem1);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawBitmap(rec, 100, 100, null);
canvasWidth = canvas.getWidth();
canvasHeight = canvas.getHeight();
}
}