所以我在Racket中写了一个原型Wolfenstein3d-style ray-caster。可以理解的是,当它以更高的分辨率运行时,它并不是非常快,所以我试图切换到Typed Racket。
我的问题是,是否有办法在Typed Racket中制作图形(通常)?出于我的特殊目的,我需要做的就是绘制一条线,并显示/切片位图。
我尝试过的事情:
Big-bang
的{li> 2htdp/universe
(我最初在常规球拍中使用的)并不适用于打字球拍,而且它是一个复杂的宏,所以不像以前那样 - 功能我不能require/typed
它。
racket/draw
是基于类的,对类型球拍中的类的支持是实验性的,所以当我还没有找到typed/racket/draw
版本时,我并不感到惊讶。< / p>
我遗失了什么?
答案 0 :(得分:3)
在最近的Racket版本中,您可以在Typed Racket中使用类和racket/draw
。例如:
Welcome to Racket v6.0.1.13.
-> (require typed/racket/draw)
-> (make-bitmap 300 300)
- : (Instance Bitmap%)
(object:bitmap% ...)
但它确实仍然是实验性的,所以你可能会遇到一些错误或限制。特别是,现在您将无法在类型化和非类型化模块之间传递GUI对象。
(如果发现错误,请提交bug reports)
答案 1 :(得分:1)
一种选择是将绘图操作放在非类型化模块中,并从类型化模块中调用它们。