wxWidget實作之圖片顯示

wxWidget_show_image
稍微碰了一下wxWidget,感覺它在設計menu或一些系統內建元件上比較方便,譬如說menu可以直接以文字定義快捷鍵,而無須另寫event;狀態列也可以直接對應元件操作而做出個別不同的輔助說明。

wxWidget編譯出來的是原生(Native)程式,不知道是不是因為這個緣故,使得它在繪圖上的設定幾乎與Windows API一樣難搞。雖然圖片已經更換,但畫面仍未改變,除非縮下再放大,或拖曳一個視窗在它前面晃過,才能顯示出來。實在不夠直覺,而我目前也還未想到方法可以徹底解決這個問題。麻煩,還是再回頭玩GTK+好了。

建立wxWidget開發環境

以Dev-C++作為開發平台,幾乎不用設定,只要先安裝以下幾個DevPak檔。版本不一樣沒關係,google都找得到可以下載的地方。

  • imagelib-2.DevPak
  • libjpeg-6b_4-1spec.DevPak
  • libpng-1.2.8-1spec.DevPak
  • libtiff-3.6.1_2-1spec.DevPak
  • zlib-1.2.3-1spec.DevPak

DevPak檔安裝步驟:開啟Dev-C++ ->工具 -> Package Manager –> Install  -> 選擇DevPak檔。

接著到http://www.upcase.de/devpack.html,下載以下三個檔案:

  • wxWidgets version 2.6.0 - DevPak (about 8.8 MB)
  • wxWidgets ver. 2.6.0 - Contributions (about 1.6 MB)
  • wxWidgets ver. 2.6.0 - Samples (about 2.0 MB)

一併安裝了,便大功告成。

GTK實作之記事本 v1.0

notepad_2
主要倚賴了Glade,否則這麼標準(繁複)的版面,一個字一個字慢慢刻上可是會死人的。

此簡單小程式擁有記事本的基本功能,文件的開啟、修改和儲存;剪貼簿的剪下、複製和貼上;還有挺陽春的搜尋和取代功能。雖然這些都很基本,但還是花了不少時間,且經常陷入瓶頸,不得不說,網路上的幾份技術文件真的幫了大忙,尤其是http://www.bravegnu.org/gtktext,多虧他的幾份有關複製貼上和搜尋的解說和完整程式範例,否則真不之從何下手。感謝Vijay Kumar!

GTK+ Programming with Glade and Dev C++

glade_01
Glade是GTK+的一套RAD工具,可直接拉出大部分的視窗元件,並有詳細的調整和訊號對應,對於初學者來說應該相當適用。

基本的使用教學可參考這篇Glade 入門介紹

只是因為Glade不一定跟Dev C++的DevPak相吻合,所以在使用Dev C++編譯前可能需要作點修改。以下便簡單示範幾個修改步驟,必須先說,這只是我個人的即興作法,不符標準,也不求準確,只求能編譯、能執行。所以參考價值恐怕不怎麼高,看看即可。

GTK實作之倉庫番 v1.0

box_world
早前有一陣子熱衷倉庫番,整天拿著手機把玩。之後雖然熱情消卻,但依然覺得倉庫番是一款簡潔又深邃的內涵遊戲。規則簡單、卻也能複雜得讓人難以駕馭,這種東西最適合以電腦的暴力演算法進行破解了。眼下想寫個倉庫番演算法來求得最佳走法。不過遊戲的大概還是要先做出來,所以就簡單做了這個,算是先行版本。看起來寒酸,不過基本功能都有,雖然只有內建六張地圖(挪用自SuperPirate Lai撰寫的經典倉庫番,感謝這位前輩),不過以後還可擴充,並不急於一時。

GTK實作之踩地雷 v1.1

Bomb_Sweeper1.1

增加功能:

  1. 顯示目前未知地雷數,可與旗標對應。
  2. 計算遊戲時間,並在遊戲結束後結算。
  3. 可從下拉式選單直接更改預設地雷數目。
  4. 不同數字以不同顏色顯示。

GTK實作之踩地雷 v1.0

Bomb_Sweeper 雖然是簡易小遊戲,看起來也一點都不花俏,但還是花了我不少時間進行實作。而且為了求簡求快,還用了很多笨方法和討厭的全域變數。唉,只能說,真的還有很大很大的進步空間‧‧‧‧‧‧

還可以加強的地方:
  1. 旗標和炸彈改以圖片表示。
  2. 增加修改長度、寬度和炸彈總數的選項,且在視窗中及時反應。
  3. 添增背景圖片(不曉得可不可行)。
  4. 計算遊戲時間,並進行排行。

GTK顯示圖片的測試小程式

修改自良葛格學習筆記的範例程式。
http://caterpillar.onlyfun.net/Gossip/GTKGossip/GtkFileChooserButtonFileChooserDialog.html
還另外參考了GTK+ Reference Manual(沒有它不行啊!) http://library.gnome.org/devel/gtk/stable/

[MV] John Kricfalusi作品集

z-john-k-w-r-s200605221535

John Kricfalusi,或稱John K,加拿大動畫家,曾與Ralph Bakshi共事,一起創作知名作品《Mighty Mouse: The New Adventures》,之後獨自製作《The Ren and Stimpy Show》,震撼一時,已成當代經典。他風格近似於Ralph Bakshi,作品中充斥大量的暴力與性暗示,且創作理念極其固執,即便被電視台炒魷魚、作品相繼被腰斬,仍堅持走成人路線,是一相當有個人特色的動畫人。而在他的創作生涯中,共製作了四支動畫音樂錄影帶,支支精彩,以下便簡單概述之。

建立GTK開發環境

轉貼自 呢喃者物語 http://163.32.57.3/blog/63/read.php?2

1.下載並安裝Dev-C++。

2.到  GTK.alkia.org 下載GTK+相關檔案,原網頁是法文的,可以點選上面頁框中的「Translate into English」變成英文網頁後再下載。

(1)下載並安裝「GTK+ runtime for Windows」。
(2)下載並安裝「GTK+ package for Dev-C++」 -> 開啟Dev-C++ ->工具 -> Package Manager -> Install -> 選擇gtk_dev_gtk_x.xx.xx.DevPak。

3.到控制台->系統->進階->環境變數,將「系統變數」的PATH變數,加入「D:\Program Files\Common Files\GTK\2.0」。

4.開啟Dev-C++ -> 建立新專案 -> GUI -> C專案 -> 即可開始進行GTK+ programming。

5.如果是要使用C++進行設計,需在工具列中「專案」->專案選項->參數,將編譯器額外命令選項的內容全數複製到C++編譯器中。