Похоже, что установка начала вращения для одного вызова SpriteBatch.Draw влияет на все остальные вызовы Draw без указания источника.
Это просто не тот случай.origin
для Draw
применяется только к этому конкретному Draw
.
Если вы используете перегрузку Draw
, которая не указывает источник, источник неявно используется Vector2.Zero
.
Теперь, если вы фактически передаете матрицу в Begin
, эта матрица будет применена к всем Draw
вызовам (включая те, в которых вы задали источник) на этом конкретном спрайтеПакет до тех пор, пока не будет вызван метод End
.
Вы должны использовать параметр вращения Draw
, чтобы вращать отдельных спрайтов в вашем мире.Вы должны использовать параметр матрицы в Begin
, чтобы переместить вид всех ваших спрайтов (например, камеры).