Haskell SDL 绑定(bind) : Why doesn't SDL draw a circle here?

标签 haskell sdl

我想使用 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/

相关文章:

haskell - Hackage 是否仅开源?

haskell - 我不明白 :t for fromIntegral

c++ - 让 linux SDL2 程序在没有安装 SDL2 的计算机上运行?

haskell - 优化 curry 所需的无点风格

haskell - 函数内部的非详尽模式

haskell - 每个替代的 Monad 都是可过滤的吗?

c++ - 如何在SDL(C++)中绘制正在进行的图像计算?

c++ - SDL_ttf 未正确运行

c++ - SDL_Net 套接字创建时出错

c++ - SDL 瓦片 map 渲染错误 C++/C