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

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

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

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

17.01.2012, 20:49. Просмотров 1097. Ответов 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
Посмотрите здесь:

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

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

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

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

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

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

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

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

Метод конечных элементов на java - Java SE
Здравствуйте! Не знаю с чего начать. Необходимо программно решить уравнения теплопроводности методом конечных элементов. Результат...

Как запустить из java c++ метод? - Java SE
Уважаемые форумчане! Недавно столкнулся с проблемой запуска c++ метода из-под java, прочитав в инете не один десяток статей, понял,...

Метод Ньютона (Pascal->Java) - Java SE
Добрый день ! Нужно переписать паскаль код на Java , но только для функции f:=cos(x)-sqrt(x) Код: uses Crt; var x,a,b,e: double; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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