Вниз  Android-программирование (1-ые посты)
- 25.05.2014 / 17:40
ilyaX2D
  Пользователь

ilyaX2D 
Сейчас: Offline
andreyKorotayev, Ну, в общем пробуй) Следи за озу на всякий случай :)
- 26.05.2014 / 16:48
andreyKorotayev
  Пользователь

andreyKorotayev 
Сейчас: Offline
Суть вопроса излагаю в картинке, думаю все поймут

Изменено andreyKorotayev (26.05 / 16:48) (всего 1 раз)


Прикрепленные файлы:
Sketch261164444.png (48.99 кб.) Скачано 141 раз
- 26.05.2014 / 17:25
samogost
  Пользователь

samogost 
Сейчас: Offline
andreyKorotayev, алгоритм прост:
if (мяч.getX()>бот.getX() && мяч.getX()<бот.getX()+бот.getWidth()) {действия при нахождении мяча напротив бота}
- 26.05.2014 / 18:29
andreyKorotayev
  Пользователь

andreyKorotayev 
Сейчас: Offline
Ты меня не понял, я имел ввиду как определить столкновение по диагонали еще до столкновения мяча с доской бота, чтобы бот стоял на месте когда видит что мяч летящий по диагонали литит прям в него
- 26.05.2014 / 19:46
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
andreyKorotayev, у тебя есть координаты шарика x, y, направление движения до касания стенки (либо вектор, либо угол) phi, ты знаешь, насколько изменится угол при касании стенки (допустим Math.PI / 2 - phi), так почему ты не можешь высчитать позицию шарика через несколько шагов?
__________________
 let live
- 26.05.2014 / 21:36
andreyKorotayev
  Пользователь

andreyKorotayev 
Сейчас: Offline
Я формулы физики,и геометрии не очень знаю.подскажите пожалуйста формулу или уровнение ,ну или хотябы ссылку на статью где они описываються
- 26.05.2014 / 22:51
Ксакеп
  Модератор форума

Ксакеп 
Сейчас: Offline
andreyKorotayev, ёлочки зеленые. Гуглить не умеешь, математику (элементарную) не знаешь. Какие игры ты там собрался делать? оО

Изменено Ксакеп (26.05 / 22:52) (всего 2 раза)
- 27.05.2014 / 05:45
samogost
  Пользователь

samogost 
Сейчас: Offline
andreyKorotayev,все очень просто. Алгоритм проверки нахождения мяча напротив доски я тебе дал:
if (мяч.getX()>бот.getX() && мяч.getX()<бот.getX()+бот.getWidth()) {действия при нахождении мяча напротив бота}
Осталось узнать будет ли выполняться это условие через кол-во шагов, равных расстоянию от шарика до доски по оси Игрек.
  Допустим шарик движется по диагонали под углом 45градусов, пусть S-расстояние от мяча до бота-доски по оси игрек, нам надо узнать выполнение условия через S шагов, для чего создадим метод под названием boolean isPositionOppositeDiagonal(Point p1,Point p2), который будет проверять находятся точки напротив по диагонали. Опишем алгоритм метода на простом языке:
1)Переместить точку p1 в цикле до точки p2 в цикле.
2)Проверить условие if (мяч.getX()>бот.getX() && мяч.getX()<бот.getX()+бот.getWidth()),если оно выполняется, то возвратить true, иначе возвратить false.
Алгоритм дал, тебе осталось реализовать его в коде.

Изменено samogost (27.05 / 05:45) (всего 1 раз)
- 27.05.2014 / 08:06
samogost
  Пользователь

samogost 
Сейчас: Offline
Поправка: в начале условия вместо мяч.getX() надо мяч.getX()+мяч.getWidth()

Изменено samogost (27.05 / 08:07) (всего 3 раза)
- 27.05.2014 / 08:29
andreyKorotayev
  Пользователь

andreyKorotayev 
Сейчас: Offline
Я хотел так вначале сделать,но думал что не лучший варик каждый раз по циклу прогонять и забил на этот способ.Ну чтож буду его использовать
Наверх  Всего сообщений: 4453
Фильтровать сообщения
Поиск по теме
Файлы топика (184)