![]() |
|
||||||||||
|
|||||
|
хм, так у вас сейчас, судя по коду только точки пересечения без самих объектов.
var nearPoint:Point; var minDist:Number = Number.MAX_VALUE; for() //ваш цикл { ... var distance:Number = Math.sqrt(pow1 + pow2); if(distance<minDist) { minDist = distance; nearPoint = sadV; } } Ну и стандартные советы для ускорения работы 1) длину массива в переменную 2) точку new Point(stage.x, stage.y) создать вне цикла, да и смущает меня что-то вообще 3) bodyconm.x и y тоже можно в переменные вынести перед циклом. не совет, просто для справки 4) есть статический метод Point.distance, вроде точки кушает. Не знаю быстрее ли расчетов.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
[+1 13.07.11]
[++1 13.07.11] Регистрация: Dec 2009
Сообщений: 42
|
спасибо, утром разбираться буду в вашем коде, опробую
А про массив, так массив sad - это массив не точек, а именно массив элементов которые пересекаются с линией, а сам массив точек он выше и я не стал тот код сюда копировать.Добавлено через 1 минуту А советы для ускорения работы, реально ли созданием точки new Point(stage.x, stage.y) вне цикла что-то ускорить? )) Просто мне кажется это очень незначительная вещь, а оптимизация делается несклько поглобальнее, хотя и такие мелочи постараюсь учесть. |
|
|||||
|
Регистрация: Jul 2010
Сообщений: 110
|
не самый эффективный способ обращения за помощью, с наездами на всех кто пытается вникнуть в задачу. есть предположение, что по законам геометрии (что это!?) линия может пересекать квадрат в одной точке или в двух, как вообще понять из этого массива что где пересекается? может быть берется только одна точка для каждого квадрата?
Последний раз редактировалось hartman; 14.07.2011 в 11:17. |
|
|||||
|
а можно поинтересоваться, какой вид игры? Если вид сверху, и цели могут приближаться со всех сторон, то посложнее, т.к. расстояние надо искать по геометрическим формулам, а если что-то подобное старой доброй контре, даже учитывая то что враги могут подступать с обеих сторон, то есть смысл просто вычислять модуль разницы по координате х между стрелком и целью
Последний раз редактировалось willis83; 14.07.2011 в 11:34. |
|
|||||
|
[+1 13.07.11]
[++1 13.07.11] Регистрация: Dec 2009
Сообщений: 42
|
willis83 - да, вид сверху, писал где-то постом выше, что игроки могут подойти с любой стороны, поэтому решение с одной координатой не годится. Сейчас начну делать по коду GBee, посмотрим получится ли. Но уже плохо то что со 100 врагами (создаю одновременно) - игра начинает тормозить, правда тормозит она даже когда просто 100 врагов идут на тебя (т.е. не из-за рассчётов стрельбы), но это я уже отдельную тему создам с вопросом об оптимизации.
|
|
|||||
|
[+1 13.07.11]
[++1 13.07.11] Регистрация: Dec 2009
Сообщений: 42
|
Цитата:
А так - всем спасибо, то что нужно было по теме - реализовал. |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:30. |
|
|
« Предыдущая тема | Следующая тема » |
|
|