İşte kod iki farklı parçalarıdırŞaşkın hakkında düzen, C#
Bu benim
Vector2 hold = Vector2.Transform(pos1, mat1);
Matrix inv = Matrix.Invert(mat2);
Vector2 pos2 = Vector2.Transform(hold, inv);
ile başladı Ve bu ne ben söylendi olduğunu budur basitleştirilmiş versiyonu
Matrix matrix1to2 = mat1 * Matrix.Invert(mat2);
Vector2 pos2 = Vector2.Transform(pos1, matrix1to2);
Anlamadığım vermezken, simpilifed sürümünde ilk satırı değil neden
Matrix matrix1to2 = Matrix.Invert(mat2)*mat1;
matris sırayla yana ilk ve Mat1 sahip orijinal yürürlüğe girecek sağdaki şey ilk
Düzen çarpıldıktan: Aşağıdaki resim operasyonların sırası
arzu gösterir http://www.riemers.net/images/Tutorials/XNA/Csharp/Series2D/mat1.png
Öğretici, kullandığınız bu dönüşümü oluşturmak için;
Matrix carriageMat = Matrix.CreateTranslation(0, -carriage.Height, 0) * Matrix.CreateScale(playerScaling)
* Matrix.CreateTranslation(xPos, yPos, 0) * Matrix.Identity;
Sipariş, sipariş doğruysa neden işe yarar?
Bu bir http://gamedev.stackexchange.com/ sorum olduğunu düşünüyorum. Orada daha fazla geri bildiriminiz olacak. – rcdmk
Teşekkürler bunu deneyeceğim. Bunu kapatmalı mıyım? – Alxander
İsterseniz. Probaly bazı moderatörler buna gelecekti. – rcdmk