我想使用 Haskell 的 SDL 绑定(bind)来绘制简单的对象(三角形、圆形等)。 Graphics.UI.SDL.Video中有一个绘制矩形的函数可以正常工作。但我无法让我找到的用于绘制其他图元(在 Graphics.UI.SDL.Primitives 中)的函数正常工作。以下代码仅绘制一个矩形。我错过了什么想法吗?
module Main where
import Graphics.UI.SDL as SDL
import Graphics.UI.SDL.Color
import Graphics.UI.SDL.Primitives
main = do
SDL.init [SDL.InitVideo]
screen <- SDL.setVideoMode 500 500 32 [SDL.HWSurface]
SDL.fillRect screen Nothing (SDL.Pixel 0x0000FF)
fillRect screen (Just (SDL.Rect 10 10 30 30)) (SDL.Pixel 0x00FF0000)
filledCircle screen 40 40 50 (SDL.Pixel 0x00FF0000)
SDL.flip screen
delay 2000
SDL.quit
最佳答案
您给filledCircle和fillRect的像素颜色将其alpha分量设置为零;尝试使用 SDL.Pixel 0x00FF00FF
代替。 fillCircle 似乎尊重颜色的 alpha 分量,而 fillRect 显然不尊重。
关于Haskell SDL 绑定(bind) : Why doesn't SDL draw a circle here?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7295590/