3.1:一些小的修改
我覺得寫c++的程式,一是看起來確實比較c++一點,二是相對於c的「精煉」,c++要的是「健壯」。所以,其實我不太滿意用c風格字串作為screensu***ce的成員資料,所以做了修改。這也是為了在程式中構建screensu***ce物件的時候可以使用string。
class
screensu***ce
; 相應的,我們修改了2個建構函式。
screensu***ce::screensu***ce():
width(
640), height(
480), bpp(
32), flags(
0), windowname(
"null")
screensu***ce::screensu***ce(
intw,
inth,
const
std::
string
&window_name,
intb, uint32 f):
width(w), height(h), bpp(b), flags(f)
else
windowname ="
null";
} 第二個地方,我修改了textsu***ce建構函式的引數順序,並且將預設的字型改為windows都自帶的「新羅馬時代」字型times.ttf。我將字型引數放在最後,將字型大小引數提前了,這樣更符合習慣上的使用規律。
class
textsu***ce:
public
displaysu***ce;
(在displaysu***ce裡相應的建構函式也做類似的修改,略)
3.2:回顧sdl事件輪詢
sdl_pollevent()的作用,是事件一旦被觸發,就會響應一次,注意它的響應並不是連續不斷的。比如你按下某個鍵,即觸發了一次事件。即使你按著不鬆開,也僅僅是觸發了一次,所以sdl_pollevent()也只響應一次。
下面的程式,演示鍵盤事件中,方向鍵被按下後的反饋資訊。
3.3:演示程式
//uvi soft (2008)
//long fei (lf426), e-mail: [email protected]
#include
"su***ceclass.h
"int
game(
intargc,
char
*argv);
intmain(
intargc ,
char
*argv)
catch
( const
errorinfo
&info )
return
mainrtn;
}int
game(
intargc ,
char
*argv)
screen.flip();}if
( gameevent.type
==sdl_quit )
if( gameevent.type
==sdl_keyup )}}
}return0;
}
SDL入門教程(九) 5 文字反饋滑鼠位置座標資訊
注意事項 1 times.ttf檔案請到c windows fonts下尋找並拷貝到資源目錄下。2 如果您使用vc2008,請用release編譯。原因是,似乎涉及到vector的操作,runtime library在debug的時候必須用multi theaded debug dll mdd 而r...
SDL入門教程(十) 5 SDL完美顯示中文
注意 請使用支援中文的ttf字型檔。5.1 構建可以正確顯示中文的sdl ttf函式 世界終於又充滿了光明!任何事情都是有答案的,不知道僅僅是因為我們還沒有找到。解決了以上一系列問題,我們終於可以不依賴mfc,完全使用自由開源的資源,讓sdl顯示中文了!我們通過ttf renderunicode 來...
SDL入門教程(十三) 2 初識多執行緒
intmain intargc char argv if gameevent.type sdl keydown screen.flip sdl killthread thread1 sdl killthread thread2 return0 void sdl delay uint32 ms 解決r...