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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Закрытие приложения. http://www.cyberforum.ru/android-dev/thread429279.html
У меня возникли проблемы с методом finish(), подскажите как можно закрыть приложение без ошибки неожиданной остановки (Выскакивает окно стиля Alert и предлагает сделать Force close ).
Программирование Android О с закрытием приложения. Удалите тему, пожалуйста. Случайно создал два раза. http://www.cyberforum.ru/android-dev/thread429277.html
Программирование Android Работа со звуком
Народ,как можно работать со звуком в эмуляторе(использую netbeans 6.9.1) на сайте андроида написано, что нельзя записать звук через эмулятор.может эта инфа уже устарела? Если не устарела,то как...
Программирование Android Значение EditTextPreference
Здравствуйте. Существует public class Settings extends PreferenceActivity, он загружает .xml с EditTextPreference. Пытаюсь на class startView extends Activity получить значение...
Программирование Android Масштабирование картинок из drawable http://www.cyberforum.ru/android-dev/thread426160.html
Здравствуйте! Суть в следующем, есть самодельное меню из картинок, при портретной ориентации находится вверху при ландшафтной слева. Вначале все прекрасно масштабировалось при нахождении картинок в...
Программирование Android Android и Windows Здравствуйте. Мне предложили написать программу-ежедневник из 2-х частей. Одна часть на андроид-мобилке, вторая на компе (под Windows). При изменении в одной из них, автоматически обновляется вторая.... подробнее

Показать сообщение отдельно
dajver
409 / 273 / 18
Регистрация: 18.09.2010
Сообщений: 1,112

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

17.01.2012, 20:49. Просмотров 1191. Ответов 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();
              }
          }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru