簡體   English   中英

用於DirectX橫向的Windows Phone 8.1模擬器

[英]Windows Phone 8.1 emulator for DirectX landscape

2014年7月16日更新:我已將SharpDX“ MiniCube”示例項目轉換為Universal 8.1項目。 它是100%獨立的。 它將演示此問題。 信息中包含一個“ READ ME.txt”文件。 您可以在這里下載:

下載SharpDX MiniCube Universal 8.1項目


我的問題是Visual Studio 2013中的Windows Phone 8.1模擬器橫向顯示橫向模式。 圖像是橫向的,看起來正確,但是它旋轉了90度,位於一端並且從顯示屏頂部滑落。 以下是圖片,向您展示我的意思:

肖像 景觀

您可以單擊圖像以完整尺寸查看它們。

就應用程序而言,它處於橫向模式,對觸摸的所有處理均正常運行,就像其正確顯示一樣。 它只是顯示在一端旋轉的仿真器中。

這是一個使用SharpDX(C#的DirectX包裝器)的C#項目。 我不知道此問題是否會在真實設備上發生; 我一個也沒有。 很明顯,我什至無法在不知道此應用程序在實際設備上是否正常運行的情況下發布我的應用程序。

我沒有在代碼中做任何花哨的事情。 我使用未經修改的SharpDX示例中使用的“ CommonDX”源代碼:

https://github.com/sharpdx/SharpDX-Samples/tree/master/WindowsAppStore81/CommonDX

相同的源代碼在WinRT(計算機/平板電腦)版本中在模擬器和真實設備中均能正常運行。

如果有人對此有所了解,請告訴我您所能。 謝謝!


2014年7月16日更新:我外出購買了諾基亞Lumia 520,並將其更新為Windows 8.1。 同樣的問題也會在真實設備上發生。 唯一的不同是,它壓縮了整個旋轉寬度以適合顯示器,而不是從頂部滑落。

我還應該補充一點,我正在使用SharpDX 2.6.2 DLL。

正如我所說,我使用的Windows Server Store 8.1項目使用相同的源代碼(用於計算機和平板電腦),並且在那兒都可以正常工作。 不過,我必須對Windows Phone 8.1進行一個小的更改。 在CommonDX源代碼的SwapChainTargetBase.cs文件中,對swapChain.ResizeBuffers()的調用將生成SharpDXException異常(HRESULT 0x887A0004 DXGI_ERROR_UNSUPPORTED)。

每當屏幕尺寸更改時都會發生這種情況,當然,當您傾斜設備以更改方向時也會發生這種情況。 為了解決這個問題,我只需配置當前的“ swapChain”,然后讓現有代碼創建一個新代碼,而不是調整舊代碼的大小即可。 此更改不會導致發生此問題。

我檢查了SharpDX示例中的示例代碼,但是截至目前,這些示例似乎都沒有用於Windows Phone 8.1。 它們具有“ WindowsAppStore81”(PC /平板電腦)和“ WindowsPhone8”示例,但沒有“ WindowsPhone81”或“ WindowsUniversal81”。

我絕不是DirectX專家。 我熱衷於制作應用程序,而不是為了讓我的工具為我而努力。 而且我在所有其他平台上都使用了OpenGL,沒有任何問題。 但是無論如何,如果嘗試的話,我無法使橫向視圖從顯示屏頂部旋轉。 您可以在屏幕快照中看到我的應用知道它在橫向視圖中,並且正在渲染橫向緩沖區。 無論造成什么問題,它都在我自己的源代碼之外。

我的應用程序在運行Windows Phone 8.1的實際設備上完全可用,無法釋放,因為它無法正確顯示橫向視圖。 而且似乎沒有什么可以改變的事情。

有沒有人甚至為Windows Phone 8.1建立了成功的SharpDX項目,該項目既可以縱向也可以橫向使用?

最后一點:為什么微軟根本不允許對OpenGL的支持,然后又對C#語言不包括對DirectX的支持? 如果不是SharpDX,我們都會全被搞砸了。

直接使用DirectX時,Windows Phone似乎不會更改幀緩沖區的尋址方式。 在橫向模式下,您必須自己手動旋轉圖形。

看到這篇文章: http : //www.catalinzima.com/2012/12/handling-orientation-in-a-windows-phone-8-game/

我發現刪除以下內容可以解決此問題:

DX::ThrowIfFailed(
    m_swapChain->SetRotation(displayRotation)
    );

顯然不需要設置!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM