Обнаружение столкновения между двумя объектами в Java

Другая неудачная практика может вызвать эту проблему, которая еще не указана.

См. этот фрагмент кода:


Все в порядке, верно?

Что делать, если «a_important_file.php»:



 ----------This is the end of the an_important_file-------------------

Это не сработает? Почему? Потому что уже создана новая строка.

Теперь, хотя это не общий сценарий, что, если вы используете структуру MVC, которая загружает большое количество файлов перед передачей данных на ваш контроллер? Это не необычный сценарий. Будьте готовы к этому.

Из PSR-2 2.2:


  • Все файлы PHP ДОЛЖНЫ использовать Unix LF (linefeed) line ending .
  • Все файлы PHP ДОЛЖНЫ заканчиваться на single blank line.
  • Тег закрытия?> ДОЛЖЕН быть omitted из файлов, содержащих only php

Поверьте, следующие стандарты могут сэкономить вам много часов из вашей жизни:)

0
задан Chloe13 16 January 2019 в 20:53
поделиться

2 ответа

Вы можете изменить «диапазон» обнаружения. Если вы посмотрите на то, как вы обнаруживаете свои автомобили, вы ищете только координату, в которой расположен спрайт / вектор, для которой будет относительно трудно столкнуться, если будет более нескольких пикселей. , Попробуйте найти положение Car A из width/length из Car B.

0
ответ дан Jordan Gray 16 January 2019 в 20:53
поделиться

Я думаю, что метод равенства не является правильным. И это вызывает некоторые проблемы с обнаружением столкновений. Нельзя предполагать, что два автомобиля с одинаковым свойством являются одним и тем же объектом. Например:

e.add(new Car(  0, 63, 2, new Color(1.0f,1.0f,1.0f, 1.0)));
e.add(new Car(  0, 63, 2, new Color(1.0f,1.0f,1.0f, 1.0)));

В этом случае происходит столкновение, но оно никогда не будет обнаружено, поскольку два объекта с помощью реализованного метода equals одинаковы.

В таких ситуациях, как игровой движок или система моделирования, полезно различать каждый объект в вашем мире с помощью идентификатора, поскольку каждый экземпляр уникален.

Более того, как говорит @Jason, чтобы правильно зафиксировать столкновение, вы должны вычислить длину или ширину объекта.

0
ответ дан gccodec 16 January 2019 в 20:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: