2011-09-03 63 views
4

我想使用Haskell的SDL綁定來繪製簡單的對象(三角形,圓形等)。有一個在Graphics.UI.SDL.Video中繪製矩形的功能,可以正常工作。但是我無法獲得用於繪製其他基元(在Graphics.UI.SDL.Primitives中)的函數。以下代碼只繪製一個矩形。任何想法我錯過了什麼?Haskell SDL綁定:爲什麼SDL在這裏沒有畫圓圈?

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 

回答

6

您給的像素顏色filledCircle和fillRect的alpha分量設置爲零;改爲嘗試SDL.Pixel 0x00FF00FF。 filledCircle似乎尊重顏色的alpha分量,而fillRect顯然不會。

+0

我明白了,感謝您的快速回答! – martingw