2015-01-19 4 views
0

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

Я знаю, как повернуть изображение, как и в XNA

2

Но как можно нарисовать спрайт в этом углу таким образом?

2

Я не могу показаться, чтобы быть в состоянии найти ответ на это, и я вроде на идеях

+0

так что вы хотите иметь изометрический вид прямоугольника? hm ... вам нужно переместить каждый столбец в образе. первый столбец 0px, второй столбец 1px, третий 2px ... для этого нет существующей функции, вам придется написать его. –

+0

@DavorMlinaric, что означало бы, что если я хочу создать прямоугольник ширины 200, мне нужно было бы вычислить 200 столбцов, а затем провести их отдельно, должна быть какая-то функция проекции, которая делает это – dimitris93

ответ

0
Matrix CreateSkewY(float angle) 
{ 
    Matrix skew = Matrix.Identity; 
    skew.M21 = (float)Math.Tan((double)angle); 
    return skew; 
} 

spriteBatch.Begin(SpriteSortMode.Deferred, null, null, null, null, null, 
CreateSkewX((float)Math.PI/6)); 
0

Я нашел этот пример, используя матрицу, но я не проверял.

Matrix matrix = Matrix.CreateRotationX(MathHelper.ToRadians(60)) * 
       Matrix.CreateRotationY(MathHelper.ToRadians(30)) * 
       Matrix.CreateScale(1,1,0); 

spriteBatch.Begin(SpriteSortMode.Deferred, null, null, null, null, null, matrix); 
+0

, я проверю его и дам вам знать как это получилось, спасибо за ответ, если у вас есть ссылка на сайт, где у вас есть этот пример, это может быть полезно для меня, если вы можете связать его – dimitris93

+0

, он ничего не меняет на экране, его странно – dimitris93

+1

попробуйте искать косы, используя матрицу вокруг. я действительно не могу помочь вам больше, так как я никогда не пробовал что-то подобное. если вы нашли решение, разместите его здесь, чтобы другие могли его найти. –