有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java调整窗口大小并在其中移动内容

我有一个用java制作的简单游戏。基本上,我的编程能力是相对基本的,我希望能够调整游戏窗口的大小,而不是让图像停留在原来的位置,只是在更大的区域显示白色 Here's a Screenshot.有什么简单的方法可以做到这一点吗


共 (3) 个答案

  1. # 1 楼答案

    现有的两个答案似乎假设您希望调整游戏空间的大小

    调整游戏空间的大小

    一个游戏空间,是一个射击'他们'不一定调整好。例如,当游戏的宽度是原来的两倍时,左/右箭头是否应该将船移动两倍?垂直拉伸窗口是否会增加重力或快照的速度

    填充游戏空间

    按照我阅读问题的方式,您只希望将游戏空间放在窗口的中心。例如,可以在this answer中看到这一点

    确定顶级容器的大小

    许多游戏都会调整大小,以避免第一种方法产生的问题类型,并避免第二种方法周围的“大空白带”。这就像调用^{}一样简单

    要使此技术发挥最佳效果,请执行以下操作:

    1. 确保执行游戏渲染的组件具有首选大小集
    2. 将其(和所有其他控件)添加到框架中
    3. 调用frame.pack()以确保帧的大小适合显示内容
    4. (最后)调用frame.setResizable(false)
  2. # 2 楼答案

    根据我对你问题的理解,你想把你的游戏“延伸”到边界之外,并延伸到窗口的其余部分。(如果这是错误的,那么oops:s)

    为了做到这一点,你必须做出一些决定。您可以将整个游戏缩放到帧,也可以仅扩展背景。但是,根据你想朝哪个方向移动,你必须做不同的事情

    最终,这个决定完全取决于你

    另外,您使用什么创建窗口

  3. # 3 楼答案

    要拉伸游戏,首先将其渲染到Image。然后在瞬间拉伸图像的同时绘制图像

    Image dbImage; // The backbuffer
    graphics.drawImage(dbImage, 0, 0, getWidth(), getHeight());
    

    大多数游戏更喜欢禁用窗口大小调整和我的引擎