我正在尝试使用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名称与其他模块冲突有关,因此不能以与Gloss中的其他符号相同的方式导入。
我如何和哈斯克尔谈论Gloss的Event
发布于 2013-10-13 05:33:10
如果您按照play的类型签名中的Hackage链接,发现Event是从Graphics.Gloss.Interface.Pure.Game导出的,那么只需导入该模块即可。
https://stackoverflow.com/questions/19338244
复制相似问题