如何在Haskell中访问Graphics.Gloss事件类型?

时间:2013-10-12 19:23:06

标签: haskell gloss

我正在尝试使用Gloss库的play函数,它接受一个事件处理函数,其第一个参数类型为Event(根据Hackage documentation)。我在Windows上使用GHC 7.6.3和Gloss 1.8.0.1。

这是我正在尝试做的草图:

import Graphics.Gloss

type GameState = [Int]

handleInputEvent :: Event -> GameState -> GameState
handleInputEvent _ = id -- Just stubbed in for now

编译错误是:

Not in scope: type constructor or class `Event'

如果我进入WinGHCI并导入Graphics.Gloss并询问play的类型签名,它看起来像这样:

play ::
  Display
  -> Color
  -> Int
  -> world
  -> (world -> Picture)
  -> (gloss-1.8.0.1:Graphics.Gloss.Internals.Interface.Event.Event
      -> world -> world)
  -> (Float -> world -> world)
  -> IO ()

我猜这与名称Event与其他模块发生冲突有关,因此不会以与其他符号相同的方式导入。

如何与Haskell谈论Gloss Event

1 个答案:

答案 0 :(得分:1)

如果您在play的类型签名中关注Hackage上的链接,并发现从Graphics.Gloss.Interface.Pure.Game导出Event,则只需导入该模块。