Я новичок в разработке Android.
Я создал игру.Одна битовая карта (1) является управляемой, другая битовая карта (2) действует при столкновении с первой.Работает отлично.Вопрос;Как мне создать несколько экземпляров (2), которые, во-первых, будут одинаково реагировать на столкновение с (1).
То, что я построил до сих пор;
В MainGamePanel я создаю два растровых изображения:
basket = new basket(BitmapFactory.decodeResource(getResources(), R.drawable.basket01), 50, 50);
apple = new apple(BitmapFactory.decodeResource(getResources(), R.drawable.apple_red01));
MainThread выполняет обновление и рисует холст на панели
В обновлении (в MainGamePanel) я проверяю конфликты между(1) и (2), проверка координат.
Если обнаружено столкновение, я устанавливаю координаты для яблока (2), оно становится «щелевым».
Тогда, если яблоко (2)я коснулся, я перемещаю его в случайную позицию на экране и устанавливаю логическое место в ложь.
... это то, где я застрял, 2 вопроса (я должен разделить их здесь наТАК?)
- Как создать несколько экземпляров растрового изображения (2)?
- Как получить максимальные значения X и Y для холста или вида, который не являетсясоздан внутри самого класса?
Спасибо!
Текущий фрагмент кода для tРастровое изображение (2) "яблоко":
public void draw(Canvas canvas) {
canvas.drawBitmap(bitmap, X - width/2, Y - height/2, null);
}
Что касается вопроса два (рассмотрите генератор случайных чисел, мне нужно установить максимальные значения);
if (slotted){
if (eventX >= (X - width/ 2) && (eventX <= (X + width/2))) {
if (eventY >= (Y - height/ 2) && (eventY <= (Y + height/ 2))) {
// basket touch
Random Rnd = new Random();
float nX=Rnd.nextInt(HOWTOMAXOFVIEWORCANVAS);
float nY=Rnd.nextInt(HOWTOMAXOFVIEWORCANVAS)+80;
// the +80 is to prevent the apple from returning in the 'slotted' area (the basket can't get there ;)
setX(nX);
setY(nY);
slotted = false;