2010-07-10 80 views
0

嘿,夥計們,我正在建立一個紙牌遊戲,顯示一堆卡片(有些東西像紙牌遊戲)。我想知道你給我一些建議嗎?此外,如果你可以指導我做這些東西的教程(我已經通過gtk文檔)。幫助需要使用GTK顯示堆疊卡片!

回答

0

不幸的是,GTK +中沒有包含顯示堆疊卡的小部件,因此,您必須自己編寫一個小部件。你應該使用GtkDrawingArea(最好通過繼承它),並在expose_event信號處理程序中執行你的繪圖工作。爲了繪製,你可以使用更簡單的普通GDK,或者使用Cairo,這是更靈活的繪圖庫(nb。Cairo由GTK +使用,因此它不是額外的依賴關係,如果你想要更多,你甚至可以使用OpenGL那麼你必須使用GtkGlExt庫)

GTK Tutorial有一個專用於創建自己的控件章

1

你應該檢查什麼已經被在GnomeGames完成:。

Get the code看看他們是如何做到的。看起來他們渲染每張卡片: 例如,在Aisleriot源代碼中,在game.h中,您定義了一個ArSlot結構,該結構存儲一個插槽的所有卡片。在那裏,你可以看到他們定義了'擴展'聯盟,它只是定義了卡片之間的偏移量。

所以如果你想創建一堆卡片,你可以繪製它們中的每一個,或者如果你認爲它太慢,只需繪製幾張卡片,隨機偏移一個或兩個像素,然後繪製最後一張牌:使用這種算法,你的牌堆看起來像堆,並且在屏幕上快速呈現。