Форум программистов, компьютерный форум 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) на сайте андроида написано, что нельзя записать звук через эмулятор.может эта инфа уже устарела? Если не устарела,то как можно внести уже имеющийся звуковой файл в эмулятор?для дальнейшей обработки Добавлено через 19 часов 56 минут Ответ на вопрос как можно внести уже имеющийся звуковой файл в эмулятор? создать в папке...
Android Значение EditTextPreference
Здравствуйте. Существует public class Settings extends PreferenceActivity, он загружает .xml с EditTextPreference. Пытаюсь на class startView extends Activity получить значение EditTextPreference: Settings cv = new Settings();//создаю объект класса т.к. eclipse ругается на //метод findPreference(String), если класс extends...
Android Масштабирование картинок из drawable http://www.cyberforum.ru/android-dev/thread426160.html
Здравствуйте! Суть в следующем, есть самодельное меню из картинок, при портретной ориентации находится вверху при ландшафтной слева. Вначале все прекрасно масштабировалось при нахождении картинок в drawable, в зависимости от разрешения. После того как я отправил загрузил код на SVN сервер. Друго пользователь изменил некоторые файлы, они отношения не имеют к формированию изображения, и...
Android Android и Windows Здравствуйте. Мне предложили написать программу-ежедневник из 2-х частей. Одна часть на андроид-мобилке, вторая на компе (под Windows). При изменении в одной из них, автоматически обновляется вторая. Связь любая - gprs, wi-fi и т.д. Возможно ли такое вообще и если да, где можно почитать что-нибудь на эту тему? подробнее

Показать сообщение отдельно
dajver
 Аватар для dajver
406 / 270 / 18
Регистрация: 18.09.2010
Сообщений: 1,106

Метод intersects в java - Android

17.01.2012, 20:49. Просмотров 1023. Ответов 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();
              }
          }
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru