Форум программистов, компьютерный форум CyberForum.ru

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

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

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

27.12.2014, 09:18. Просмотров 368. Ответов 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);
     }
}
Так вот, если добавлять новых типов монстров это будет как-то очень объёмно.. т.е. для каждого типа монстра придётся писать такой цикл отрисовки (а кроме отрисовки, там есть и другие циклы по монстрам).

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

Как перебрать все дочерние элементы некого Layout Android
Android Как перебрать все файлы в директории на SD карте и поместить найденные jpg в массив?
Как запустить метод из другого класса? Android
Android Перебрать все элементы активити
Класс: Хочу из класса WorkFiles получить доступ к функционалу класса WorkDB. Android
Как правильно создавать объекты ? Android
Android Вывод разного текста по клику на разные кнопки
Android Как праивильно отрисовывать объекты?
Android Как передать параметры из одного класса в другой?
Android Как выполнить setContentView из другого класса?
Android Как получить объекты записные в TableRow?
Как вывести объекты списком? Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
27.12.2014, 09:44     Как перебрать объекты разного класса #2
как-то очень объёмно
с чьей точки зрения?
Вашей или Android?
valerik
2 / 2 / 0
Регистрация: 10.11.2014
Сообщений: 15
27.12.2014, 12:34  [ТС]     Как перебрать объекты разного класса #3
Armagedo, с моей точки зрения..
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
27.12.2014, 12:48     Как перебрать объекты разного класса #4
valerik, тогда не морочьте себе одно место и рожайте тьму монстров класс за классом, цикл за циклом
Gabberr
101 / 101 / 17
Регистрация: 13.10.2009
Сообщений: 402
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);
}
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
27.12.2014, 19:16     Как перебрать объекты разного класса #6
Gabberr, красиво, шо тут говорить
Yandex
Объявления
27.12.2014, 19:16     Как перебрать объекты разного класса
Ответ Создать тему
Опции темы

Текущее время: 08:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru