Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
valerik
2 / 2 / 0
Регистрация: 10.11.2014
Сообщений: 15
#1

Как перебрать объекты разного класса - Программирование Android

27.12.2014, 09:18. Просмотров 406. Ответов 5
Метки нет (Все метки)

Делаю игру. Там есть монстры. Будет класс Enemy и несколько дочерних классов
Monstr1 extends Enemy, Monstr2 extends Enemy.. и т.д...

Пока что сделал только первый тип монстров Monstr1. В игре это массив
Monstr1[] monsters;

В игре я их отрисовываю примерно так
Java
1
2
3
4
5
6
//Монстры
    for (int i = 0; i < monstrsMax; i++) {
     if (monsters[i] != null) {
     monsters[i].draw(canvas);
     }
}
Так вот, если добавлять новых типов монстров это будет как-то очень объёмно.. т.е. для каждого типа монстра придётся писать такой цикл отрисовки (а кроме отрисовки, там есть и другие циклы по монстрам).

Можно же как то объединить разные типы монстров в один массив и отрисовывать их одним циклом?
Надеюсь кто-то знающий понял что я хочу узнать? Помогите
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2014, 09:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как перебрать объекты разного класса (Программирование Android):

Как перебрать все дочерние элементы некого Layout - Программирование Android
Всем добрый день. Вопрос задан в названии темы: имеется основной слой (LinearLayout), в нем несколько других слоёв. Вот с ними мне и...

Как перебрать все файлы в директории на SD карте и поместить найденные jpg в массив? - Программирование Android
При первом запуске программы я создаю некую директорию на SD карте: File sdPath = Environment.getExternalStorageDirectory(); sdPath =...

Как изменить Textview из другого класса (класса адаптера RecyclerView) - Программирование Android
У меня есть список RecyclerView тоесть этот файл Basket и файл что реализует cardwiew BasketAdapter. как мне изменить TextView allPrice из...

Как правильно создавать объекты ? - Программирование Android
Как правильно создавать объекты и как они расходуют память, что является правильным подходом? вариант 1: public class...

Как праивильно отрисовывать объекты? - Программирование Android
Здравствуйте! Имеется просьтенькая спрайтовая игра. Как выполняю отприсовку: 1. Рисую белый фон 2. Рисую спрайты ...

Как вывести объекты списком? - Программирование Android
В XML расположил все объекты вертикально. Но при компиляции многие объекты, которые в низу не выводятся, по идее должен появиться скрул (Я...

5
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
27.12.2014, 09:44 #2
как-то очень объёмно
с чьей точки зрения?
Вашей или Android?
0
valerik
2 / 2 / 0
Регистрация: 10.11.2014
Сообщений: 15
27.12.2014, 12:34  [ТС] #3
Armagedo, с моей точки зрения..
0
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
27.12.2014, 12:48 #4
valerik, тогда не морочьте себе одно место и рожайте тьму монстров класс за классом, цикл за циклом
0
Gabberr
102 / 102 / 17
Регистрация: 13.10.2009
Сообщений: 403
27.12.2014, 18:42 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Благо же есть ООП
Java
1
2
3
4
5
6
7
8
ArrayList<Enemy> monsters = new ArrayListM<>();
monsters.add(new Monster1());
monsters.add(new Monster2());
monsters.add(new Monster3());
 
for(Enemy enemy : monsters){
    enemy.draw(canvas);
}
2
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
27.12.2014, 19:16 #6
Gabberr, красиво, шо тут говорить
0
27.12.2014, 19:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2014, 19:16
Привет! Вот еще темы с ответами:

Как получить объекты записные в TableRow? - Программирование Android
Добавляю несколько TextView в TableRow, теперь нужно достать TextView для прочтения текста с него. Как к достать массив объектов...

Как на Google Map убрать определённые объекты - музеи, магазины и др - Программирование Android
У карты от Google есть возможность отключить городские объекты - станции метро, банки, магазины, музеи и др. Нужно оставить только карту,...

Как перебрать все объекты созданные в форме? - C#
Подскажите, как перебрать все визуальные и невизуальные объекты в форме. Конструкции: Form1.components.Components и...

Как перебрать все экземпляры класса? - C++
Здравствуйте! Я начинающий программист..... может и не программист вовсе. Но мне необходимо сделать такую задачу. С классами начала...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.