我正在尝试使用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
?
答案 0 :(得分:1)
如果您在play
的类型签名中关注Hackage上的链接,并发现从Graphics.Gloss.Interface.Pure.Game
导出Event
,则只需导入该模块。