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

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

Войти
Регистрация
Восстановить пароль
 
dajver
408 / 272 / 18
Регистрация: 18.09.2010
Сообщений: 1,108
#1

Метод intersects в java - Программирование Android

17.01.2012, 20:49. Просмотров 1133. Ответов 0
Метки нет (Все метки)

Столкнулся с проблемой, не могу отловить столкновение прямоугольников. Пытался сделать это при помощи intersects(), но оно требует два прямоугольника внутри метода, а мне нужно отловить только столкновение с одним прямоугольником. Вот что я пишу:

Java
1
2
3
4
5
6
7
8
Iterator<Enemy> i = enemy.iterator();
         while(i.hasNext()) {
             Enemy e = i.next();
             if(((Ball) ball).getRect().intersects((e.getRect())))
             {
                 i.remove();
             }
         }
Чего оно хочет не знаю, должно работать, в уроках на ютубе видел что там применяется один объект и все было нормально... В чем трабла?

UPDATE:
Значит так. Enemy и Ball - это два класса; балл - это пуля, которая должна убивать врага, соответственно, энеми - это враг, которого должен убивать бал. Мне нужно отловить столкновение этих двух объектов, отлавливать пытаюсь при помощи intersects, который требует иметь два прямоугольника, хотя в видеоуроке, который я смотрел, повествователь туториала используется всего лишь один объект класса, второй используется для вызова интерсекта, как в моем примере кода. Вот и вопрос, чем отличается его интерсект от моего? Вот его урок тут

Ошибка которую мне выдает когда я начинаю компилировать
The method intersects(Rect, Rect) in the type Rect is not applicable for the arguments (Rect)
Добавлено через 21 час 20 минут
Сам себе отвечаю

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 private void testCollision() {
        Iterator<Enemy> i = enemy.iterator();
        Iterator<Ball> b = ball.iterator();
        
          while(i.hasNext() && b.hasNext()) {
              Enemy enemies = i.next();
              Ball balls = b.next();
 
              Rect ballss = new Rect(enemies.x, enemies.y, enemies.width, enemies.height);
              Rect enemiess = new Rect(balls.x, balls.y, balls.width, balls.height);
              
              if (Math.abs(ballss.centerX() - enemiess.centerX()) <= (balls.width + enemies.width) / 2f
                      && Math.abs(ballss.centerY() - enemiess.centerY()) <= (balls.height + enemies.height) / 2f) {
                        i.remove();
                        b.remove();
              }
          }
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2012, 20:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Метод intersects в java (Программирование Android):

Ошибка java.lang.ClassCastException: com.organizer.ToDoItemDescr cannot be cast to java.util.Map - Программирование Android
Ошибка появляется когда пытаюсь вытянуть из кастомного адаптера запись ListView. Весь лог ошибки такой: FATAL EXCEPTION: main Process:...

Не создаются BuildConfig.java R.java - Программирование Android
BuildConfig.java , R.java Не создаются в папке /gen при создании проекта в eclipse. Переустанавливал программу, ничего не помогает. Что...

В чем разница между Intersects() и Contains()? - XNA
В чем разница между Intersects() и Contains()?

Не работает Intersects в игре "Лабиринт" - XNA
Я пишу простой лабиринт. Сейчас дошёл до написания взаимодействия шарика( главный герой) и стенок лабиринта. Пишу игру впервые, вроде бы...

метод в java - Java SE
Подскажите пожалуйста, существует ли метод или какой-то способ вставлять определенный символ перед указанной буквой? то есть не заменять...

Метод void в java - Java SE
Объясните пожалуйста зачем нужны методы которые ничего не возвращают? как они работают тогда? для чего служат вообще? я понимаю например...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2012, 20:49
Привет! Вот еще темы с ответами:

Метод main в java - Java SE
здраствуйте ! я недавно начал изучение джавы и в теме МЕТОДЫ наткнулся на метод main , написано что с етого метода начинается выполнение...

Простой метод на Java - Java SE
Здравствуйте, хочу написать простой метод, который рисовал бы прямую на Jpanel, когда я захочу. Столкнулся с проблемой : написал метод в...

фрактальный метод на Java - Java
Всем привет! Возможно у кого-то есть исходники или какие-то программы которые реализуют фрактальный метод сжатия! Буду благодарен за любую...

Метод ordinal в java - Java SE
Какую роль выполняет этот метод ordinal()?


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

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

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