0
我想爲我的XNA遊戲創建一個splitScreen。我有一個相機類,我用作相機,當它來繪製我打電話包含下面的代碼的函數。 cameraViewport是一個vector4,所有值都在0,1之間。 的第一臺相機,我使用爲什麼graphicsDevice.viewport(x,y,z,w)使用x作爲x和y?
camera1.viewport = new vector4(0,0,1,.5f); // this works perfect
和第二相機我使用
camera2.viewport = new vector4(0,.5f,1,.5f); // this is drawling the same view as camera1
但是當我做這相機2
camera2.viewport = new vector3(.5f,0,.5f,.5f);
它原來是爲如果我正在分裂它4種方式,它的權利,但它應該在右上角。所以它看起來好像根本不使用y值,而只是使用x值。這是爲什麼?
int x = (int)(defaultViewport.Width * CameraViewport.X);
int y = (int)(defaultViewport.Height * CameraViewport.Y);
int w = (int)(defaultViewport.Width * CameraViewport.Z);
int h = (int)(defaultViewport.Height * CameraViewport.W);
Viewport viewport = new Viewport(x, y, w, h);
graphics.Viewport = viewport;
this.Projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(45), viewport.AspectRatio, .1f, 5000);
接受此答案,然後顯示它已解決。 – neeKo
說我有2天之前我可以多數民衆贊成爲什麼我havnt – Shredder2500