2013-05-28 80 views
1

我一直試圖讓我的遊戲根據屏幕大小來縮放每個精靈,我發現這個siteC#XNA基於屏幕大小的比例遊戲

但是,他們似乎使用XNA 3.1,所以在spriteBatch.Begin他們使用了一些代碼,在XNA 4.0中不起作用,如SpriteBlendMode.AlphaBlend。現在我發現了一個將3.1代碼轉換爲4.0的網站,並且我已經完成了該操作。但它說

「不超載的方法spriteBatch.Begin()接受3個參數」

抽獎方法。

目前,它看起來像這樣:

spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SpriteScale); 

更重要的是它想要什​​麼?我可以在SpriteScale後放置null,null嗎?還是有一種eaiser的方式來根據您的屏幕尺寸縮放遊戲?請幫忙! :)

+0

有一個用於XNA 4.0的版本。 [基於屏幕大小縮放Sprites](http://msdn.microsoft.com/en-us/library/bb447674/(v = xnagamestudio.40 \).aspx)。我建議在WindowsGL項目中使用MonoGame。 – Romoku

+0

Omg沒有看到他們有4.0以及xD謝謝Romoku。現在這似乎更好,但是當我按下A或B按鈕時,遊戲不會縮小,因此您可以在800x600中看到整個遊戲,相反,您只能看到遊戲的小部分。我不知道這是否是有關的,或者我錯過了什麼。這是否也會縮小使用自己的縮放和繪製方法的其他類的對象? – user2429201

+1

查看MSDN文檔的註釋。它看起來像'spriteBatch.Begin();'應該是'spriteBatch.Begin(SpriteSortMode.Deferred,BlendState.AlphaBlend,null,null,null,SpriteScale);'。看看這是否解決了你的問題。 – Romoku

回答

0

更改BackBuffer只會更改用戶可以查看的區域數量。

使用相機進行調查,將您的ViewPort與您的繪圖分開,這將允許精靈隨着屏幕尺寸縮放。

請參閱:XNA 2D Camera Engine That Follows Sprite