如何使光泽窗口大小取决于屏幕分辨率?

时间:2019-05-16 09:56:56

标签: haskell io height width gloss

我试图将程序窗口设置在屏幕中心。我有功能getScreenSize :: IO(Int,Int),但我不知道如何访问这些Int。

我试图像记录一样访问它。

getOffset (IO x) = x
main = putStrLn(show (getOffset getScreenSize))

我希望它根据以下内容打印出Ints元组: https://hackage.haskell.org/package/gloss-1.13.0.1/docs/Graphics-Gloss-Interface-Environment.html

9:12: error: Not in scope: data constructor ‘IO’
  |
9 | getOffset (IO x) = x
  |            ^^

编辑:也许这会使它更清晰。目前,我正在这样设置窗口配置:

width = 800
height = 800
offsetLeft = 1920`div`2 - width`div`2
offsetRight = 1080`div`2 - height`div`2 

这很好,但是我想要一个变量,其中“ 1920”和“ 1080”是

getScreenSize >>= print

这将产生简单的输出(1920,1080)。

我想要的是这样的:

getScreenSize >>= tup

offsetLeft = (fst tup)`div`2 - width`div`2
offSetRight = (snd tup)`div`2 - height`div`2

0 个答案:

没有答案