手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏03全屏显示游戏窗口
  97wjiurZkMpk 2023年11月02日 44 0

项目源码

​项目源码​

实现全屏

游戏一般都是全屏显示的,那我们如何使用java实现一个全屏窗体呢?本节我们就来教大家这个技巧。 新增一个managers包,包里新建一个ScreenManager.java类,代码如下: 主要代码就一行:device.setFullScreenWindow(mainFrame);

package managers;

import config.Config;

import java.awt.*;


public class ScreenManager {

public static GraphicsDevice device = null;

private DisplayMode[] _bestDisplayModes = new DisplayMode[] {
new DisplayMode(640, 480, 32, 0),
new DisplayMode(640, 480, 16, 0)
};


public ScreenManager(Frame mainFrame){
GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
device = env.getDefaultScreenDevice();
device.setFullScreenWindow(mainFrame);
if(device.isDisplayChangeSupported()){
_chooseBestDisplayMode(device);
}
mainFrame.createBufferStrategy(Config.BUFFERS);

}


private DisplayMode _getBestDisplayMode(GraphicsDevice device){
for(int x = 0; x < _bestDisplayModes.length; x++){
DisplayMode[] modes = device.getDisplayModes();
for(int i = 0; i < modes.length; i++){
if(modes[i].getWidth() == _bestDisplayModes[x].getWidth() &&
modes[i].getHeight() == _bestDisplayModes[x].getHeight() &&
modes[i].getBitDepth() == _bestDisplayModes[x].getBitDepth()){
return _bestDisplayModes[x];
}
}
}
return null;
}


private void _chooseBestDisplayMode(GraphicsDevice device){
DisplayMode bestMode = _getBestDisplayMode(device);
if (bestMode!=null){
device.setDisplayMode(bestMode);
}else{
System.out.println("ERROR!");
}
}


}

GameApp.java 修改如下:

手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏03全屏显示游戏窗口_java

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

97wjiurZkMpk