2016-12-06 45 views
1

所以我實現了一個滾動相機到我的slick2d遊戲,這對我來說很好。 但是如果我改變了我的遊戲的分辨率,例如從800x600到1280x960,玩家的視野極度增加。Slick2d增加屏幕分辨率而不增加視野

這是我的相機類: http://pastebin.java-gaming.org/8a70696904d1d

是否有增加屏幕分辨率不增加的視場的球員的方法嗎?

謝謝!

+0

我不是3D專家,但我認爲視場(fov)跟隨屏幕的大小,基本上,當我們調整窗口大小時,我們感覺到'z軸'也增加了近一些到相機,所以如果你想修改視場,你必須改變'z軸'(深度),以便它根據窗口的增加/減少而改變。 –

+0

感謝您的回覆,不幸的是這是2D。我正在使用slick2d,一個lwjgl2包裝器。 –

回答

0

如果我更改了我的cameraclass所有gc.getWidth & gc.Height一個固定值如它的工作原理是800x600。

感謝您的幫助。它看起來不太好,但那是另一個話題。

0

使用ScalableGame類。只要你使用光滑的圖形和圖像來渲染地圖,就應該根據分辨率來縮放所有的東西。

關於如何使用它的演示:

import org.newdawn.slick.ScalableGame; 
... 
ScalableGame s=new ScalableGame(new GAME CLASS HERE, WIDTH, HEIGHT,false); 

    appgc = new AppGameContainer(s); 
    appgc.setDisplayMode(705, 720, false); 
    appgc.start(); 

這將擴展一切,包括播放器,菜單和這樣的。 要了解如何使用它讀到這裏的Javadoc:http://slick.ninjacave.com/javadoc/org/newdawn/slick/ScalableGame.html

+0

這並不能真正幫助我,因爲這是縮放窗口大小而不是fov。 –