Haskell SDL绑定:为什么SDL无法在这里绘制圆形?

4

我希望使用Haskell的SDL绑定来绘制简单的图形(如三角形、圆形等)。在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
1个回答

6
您给予`filledCircle`和`fillRect`的像素颜色其alpha部分被设置为零;请尝试使用`SDL.Pixel 0x00FF00FF`。`filledCircle`似乎尊重颜色的alpha组件,而`fillRect`则似乎不尊重。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接