Кажется, это было бы намного проще, если бы машины всегда были прямыми - не вращались.Если бы они были повернуты, вы бы не смогли использовать прямоугольники, чтобы помочь.Если вы это сделаете, то вместо этого вы можете включить бампер в car.png.Затем вы можете использовать координаты автомобиля и добавить определенные значения, чтобы получить длину и ширину области для бампера.Затем вы можете сделать
Rectangle bumperBoundingBox = new Rectangle
(
(int)X_COORDINATE_OF_CAR,
(int)Y_COORDINATE_OF_CAR,
(int)X_COORDINATE_OF_CAR + WIDTH_OF_BUMPER,
(int)Y_COORDINATE_OF_CAR + HEIGHT_OF_BUMPER
);
Rectangle otherCarBoundingBox = new Rectangle( \* x, y, ... *\ );
bool carIsTouchingBumper = otherCarBoundingBox.Intersects(bumperBoundingBox);
Это может быть не совсем идеально, поскольку параметры прямоугольника могут быть в другом порядке или что-то в этом роде.Но когда у вас есть его, вы можете использовать carIsTouchingBumper
и делать что-то.
Если вы хотите, чтобы бампер был отдельным изображением, вы можете сделать то же самое, что и выше, за исключением использования вместо него координат бампера.,Также вам придется заставить бампер следовать за машиной.