25.05.2014 / 17:40 |  | 
ilyaX2D    Пользователь  
   Сейчас: Offline 
 Регистрация: 07.03.2014
   | andreyKorotayev,  Ну, в общем пробуй) Следи за озу на всякий случай     | 
  26.05.2014 / 16:48 |  | 
andreyKorotayev    Пользователь  
   Сейчас: Offline 
 Имя: Андрей Откуда: Запорожье Регистрация: 19.05.2014
   | Суть вопроса излагаю в картинке, думаю все поймут
   Изменено andreyKorotayev (26.05 / 16:48) (всего 1 раз)
 Прикрепленные файлы:   Sketch261164444.png (48.99 кб.) Скачано 145 раз   | 
  26.05.2014 / 17:25 |  | 
samogost    Пользователь  
   Сейчас: Offline 
 Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
   | andreyKorotayev, алгоритм прост: if (мяч.getX()>бот.getX() && мяч.getX()<бот.getX()+бот.getWidth()) {действия при нахождении мяча напротив бота}
   | 
  26.05.2014 / 18:29 |  | 
andreyKorotayev    Пользователь  
   Сейчас: Offline 
 Имя: Андрей Откуда: Запорожье Регистрация: 19.05.2014
   | Ты меня не понял, я имел ввиду как определить столкновение по диагонали еще до столкновения мяча с доской бота, чтобы бот стоял на месте когда видит что мяч летящий по диагонали литит прям в него
   | 
  26.05.2014 / 19:46 |  | 
aNNiMON    Супервизор 
   Сейчас: Offline 
 Имя: Витёк Регистрация: 11.01.2010
   | andreyKorotayev, у тебя есть координаты шарика x, y, направление движения до касания стенки (либо вектор, либо угол) phi, ты знаешь, насколько изменится угол при касании стенки (допустим Math.PI / 2 - phi), так почему ты не можешь высчитать позицию шарика через несколько шагов?
  __________________
   let live  | 
  26.05.2014 / 21:36 |  | 
andreyKorotayev    Пользователь  
   Сейчас: Offline 
 Имя: Андрей Откуда: Запорожье Регистрация: 19.05.2014
   | Я  формулы физики,и геометрии не очень знаю.подскажите пожалуйста формулу или уровнение ,ну или хотябы ссылку на статью где они описываються
   | 
  26.05.2014 / 22:51 |  | 
Ксакеп    Модератор форума  
   Сейчас: Offline 
 Регистрация: 20.06.2012
   | andreyKorotayev, ёлочки зеленые. Гуглить не умеешь, математику (элементарную) не знаешь. Какие игры ты там собрался делать? оО
   Изменено Ксакеп (26.05 / 22:52) (всего 2 раза) | 
  27.05.2014 / 05:45 |  | 
samogost    Пользователь  
   Сейчас: Offline 
 Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
   | 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    Пользователь  
   Сейчас: Offline 
 Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
   | Поправка: в начале условия вместо мяч.getX() надо мяч.getX()+мяч.getWidth()
   Изменено samogost (27.05 / 08:07) (всего 3 раза) | 
  27.05.2014 / 08:29 |  | 
andreyKorotayev    Пользователь  
   Сейчас: Offline 
 Имя: Андрей Откуда: Запорожье Регистрация: 19.05.2014
   | Я хотел так вначале сделать,но думал что не лучший варик каждый раз по циклу прогонять и забил на этот способ.Ну чтож буду его использовать
   |