创建后,我想更改 PistonWindow 的分辨率。这将允许用户在玩游戏时更改窗口的分辨率。

WindowSettings 具有 set_size 方法,但是在创建PistonWindow类型后似乎无法访问。

一个简化的例子:

extern crate piston_window;

use piston_window::*;

fn main() {
    let mut window: PistonWindow = WindowSettings::new("Game Title", [200, 200])
        .exit_on_esc(true)
        .build()
        .unwrap();

    // Do some logic here, and change resolution to 400 x 400.

    while let Some(e) = window.next() {
        window.draw_2d(&e, |c, g| {
            ellipse([1.0, 1.0, 1.0, 1.0], [0.0, 0.0, 100.0, 100.0], c.transform, g)
        });
    }
}

最佳答案

据我所知,你做不到。至少不是现有窗口。

但是,您可以存储WindowSettings并在用户更改分辨率时基于它重新创建窗口。

10-04 14:57