我想加载一个图像并在Racket中制作动画.我可以在Dr. Racket中轻松完成,但我正在使用Emacs和Geiser.要加载图像,我需要:
(require racket/draw)
Run Code Online (Sandbox Code Playgroud)
接下来,要将此图像绘制到屏幕上,我打算使用big-bang模块.要加载此模块,我必须:
(require 2thdp/image)
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
module: identifier already imported from: 2htdp/image
at: make-pen
in: racket/draw
errortrace...:
Run Code Online (Sandbox Code Playgroud)
这基本上意味着我不能两次导入相同的模块.但我需要这两个库.我该如何避免这个问题?
官方球拍教程和“球拍领域”一书都建议使用 Dr. Racket 在 Racket 中加载和定义图像。
然而,我在 Emacs 中使用 Geiser(球拍复制)。我使用
(make-object bitmap% (image-location))
Run Code Online (Sandbox Code Playgroud)
功能。
这是加载图像的最佳方式吗?或者有更有效、更简单的方法吗?我问是因为我遇到了这个问题。