1
我使用cairo(具體來說,它的haskell綁定)來渲染遊戲世界每個勾號。現在,我通過創建旋轉和平移,創建路徑並填充它來生成我的實體。我正在尋找更有效的方式來處理這個問題。我理想的做法是創建某種形狀的精靈,並將其複製到正確的座標上。在開羅精靈繪畫的精靈
我該怎麼做呢?或者,如果我以錯誤的方式思考這個問題,我該怎麼做呢?我真的沒有製作遊戲或開羅的經驗,我只是爲了好玩而做這個。任何建議表示讚賞。
我使用cairo(具體來說,它的haskell綁定)來渲染遊戲世界每個勾號。現在,我通過創建旋轉和平移,創建路徑並填充它來生成我的實體。我正在尋找更有效的方式來處理這個問題。我理想的做法是創建某種形狀的精靈,並將其複製到正確的座標上。在開羅精靈繪畫的精靈
我該怎麼做呢?或者,如果我以錯誤的方式思考這個問題,我該怎麼做呢?我真的沒有製作遊戲或開羅的經驗,我只是爲了好玩而做這個。任何建議表示讚賞。
clock demo包括如何緩存cairo渲染的完整示例。特別參見redrawStaticLayers
動作:
let redrawStaticLayers = do
(width, height) <- widgetGetSize window
drawWin <- widgetGetDrawWindow window
background <- createImageSurface FormatARGB32 width height
foreground <- createImageSurface FormatARGB32 width height
let clear = do
save
setOperator OperatorClear
paint
restore
renderWith background $ do
clear
drawClockBackground True width height
renderWith foreground $ do
clear
drawClockForeground True width height
writeIORef backgroundRef (Just background)
writeIORef foregroundRef (Just foreground)