青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 96  文章 - 255  trackbacks - 0
<2008年2月>
272829303112
3456789
10111213141516
17181920212223
2425262728291
2345678

E-mail:zbln426@163.com QQ:85132383 長(zhǎng)期尋找對(duì)戰(zhàn)略游戲感興趣的合作伙伴。

常用鏈接

留言簿(21)

隨筆分類

隨筆檔案

SDL相關(guān)網(wǎng)站

我的個(gè)人網(wǎng)頁(yè)

我的小游戲

資源下載

搜索

  •  

積分與排名

  • 積分 - 495961
  • 排名 - 39

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

作者:龍飛

4.1:再討論簡(jiǎn)單的SDL event響應(yīng)。
Uint8 *SDL_GetKeyState(int *numkeys);
        要讓圖片動(dòng)起來(lái),最好是我們可以“操作”的動(dòng)。按照一般思路,鍵盤的“上”“下”“左”“右”是不錯(cuò)的選擇。在FPS游戲和模擬器中,我們可能更習(xí)慣wsad四個(gè)鍵,所以,讓他們同時(shí)起作用吧。這個(gè)函數(shù)的一般用法,是把參數(shù)設(shè)置為空指針。我們還是先忽略細(xì)節(jié)。因?yàn)橛辛藘蓚€(gè)新的blit()重載方法的加入,我們?cè)O(shè)置要移動(dòng)的圖片在screen上的坐標(biāo)是(xpos,ypos),則:
    //key event for up, down, left and right.
    Uint8* keys;
    
//moving image's coordinate.
    int xpos = 0;
    
int ypos = 0;
控制圖片移動(dòng)的代碼如下:
        //key event to move image.
        keys = SDL_GetKeyState(0);
        
if ( keys[SDLK_UP] || keys[SDLK_w] ){
            ypos 
-= 1;
        }
        
if ( keys[SDLK_DOWN]|| keys[SDLK_s] ){
            ypos 
+= 1;
        }
        
if ( keys[SDLK_LEFT]|| keys[SDLK_a] ){
            xpos 
-= 1;
        }
        
if ( keys[SDLK_RIGHT]|| keys[SDLK_d] ){
            xpos 
+= 1;
        }
代碼一目了然,不用多解釋。具體對(duì)應(yīng)的按鍵可參考:
http://www.libsdl.org/cgi/docwiki.cgi/SDLKey

4.2:對(duì)于第二種方法的分析。

        我們前面討論了總是把surface blit到screen上的情況。如果我們的思路是把其他surface先blit到一個(gè)作為背景畫(huà)布的surface上,最后把背景畫(huà)布blit到screen上呢?
        我們將遇到的第一個(gè)疑問(wèn)是,surface能不能把自己blit到自己上面?試驗(yàn)的結(jié)果是否定的,而SDL并沒(méi)有給出官方的異常信息,即SDL_GetError()沒(méi)有起作用。所以,異常得我們自己來(lái)拋出。另外一個(gè)后果是,我們必須建立背景畫(huà)布的拷貝,把拷貝blit到背景畫(huà)布上才是可行的。
class DisplaySurface
{
public:
    
bool blitToSurface(const DisplaySurface& dst_surface,
                        
int at_x = 0int at_y = 0const;
    
bool blitToSurface(const DisplaySurface& dst_surface,
                        
int at_x, int at_y,
                        
int from_x, int from_y, int w, int h,
                        
int delta_x = 2int delta_y = 2const;
};
這和blit到screen是類似的,但是實(shí)際效果是完全不一樣的。因?yàn)椋瑳](méi)有被blit到screen上的surface,都不可能被flip顯示出來(lái)。所以,雖然參數(shù)列表是不一樣的,意味著我可以繼續(xù)用blit()這個(gè)名字重載。但是為了表明他們的實(shí)際效果有區(qū)別,我重新用了方法名。
bool DisplaySurface::blitToSurface(const DisplaySurface& dst_surface, int at_x, int at_y) const
{
    SDL_Rect offset;
    offset.x 
= at_x;
    offset.y 
= at_y;

    
if ( &dst_surface == this )
        
throw "Cannot blit surface to itself!";

    
if ( SDL_BlitSurface(pSurface, 0, dst_surface.point(), &offset) < 0 )
        
return false;
    
else return true;
}

bool DisplaySurface::blitToSurface(const DisplaySurface& dst_surface,
                                    
int at_x, int at_y,
                                    
int from_x, int from_y, int w, int h,
                                    
int delta_x, int delta_y) const
{
    SDL_Rect offset;
    offset.x 
= at_x - delta_x;
    offset.y 
= at_y - delta_y;

    SDL_Rect dest;
    dest.x 
= from_x - delta_x;
    dest.y 
= from_y - delta_y;
    dest.w 
= w + delta_x*2;
    dest.h 
= h + delta_y*2;

    
if ( &dst_surface == this )
        
throw "Cannot blit surface to itself!";

    
if ( SDL_BlitSurface(pSurface, &dest, dst_surface.point(), &offset) < 0 )
        
return false;
    
else return true;
}
posted on 2008-02-21 15:12 lf426 閱讀(3844) 評(píng)論(2)  編輯 收藏 引用 所屬分類: SDL入門教程

FeedBack:
# re: SDL入門教程(五):4、讓圖片動(dòng)起來(lái)! 2010-08-21 11:27 DN
想要SDL_KEY列表的請(qǐng)點(diǎn)擊:
http://iie.fing.edu.uy/ense/asign/tap/obrar05/santiagoackermann_comp/web/sdldoc-html/html/sdlkey.html

Lz的那個(gè)連接好像沒(méi)有。  回復(fù)  更多評(píng)論
  
# re: SDL入門教程(五):4、讓圖片動(dòng)起來(lái)! 2010-09-21 01:58 donneyming
請(qǐng)問(wèn)龍飛大哥,要是sdl創(chuàng)建多個(gè)窗口 這個(gè)看書(shū)是哪個(gè) 我剛學(xué) 還沒(méi)找到 求教   回復(fù)  更多評(píng)論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              国产精品美女久久久| 欧美成人免费观看| 国产精品视频不卡| 亚洲免费在线精品一区| 欧美在线播放一区| 一区一区视频| 欧美久久视频| 一区二区三区日韩欧美| 久久精品国产精品亚洲精品| 国精品一区二区| 欧美777四色影视在线| 99热免费精品| 久久久水蜜桃| 一本色道久久综合亚洲91| 国产精品日韩在线播放| 久久手机精品视频| 日韩一级精品| 免费看亚洲片| 亚洲一区二区三区中文字幕| 精品999在线观看| 欧美日韩国产成人精品| 午夜视频一区| 亚洲精品日韩在线观看| 欧美一区二区三区成人| 亚洲激情偷拍| 国产深夜精品福利| 欧美激情影音先锋| 欧美一区二区三区精品| 亚洲精品影院| 久久综合精品一区| 亚洲综合电影| 91久久嫩草影院一区二区| 国产欧美日韩一区二区三区在线观看 | 国产精品99久久久久久久久久久久 | 亚洲欧洲精品一区二区| 国产精品美女www爽爽爽| 美女福利精品视频| 亚洲欧美视频| 一级日韩一区在线观看| 欧美韩国日本综合| 久久激情五月婷婷| 亚洲夜晚福利在线观看| 亚洲人成网站精品片在线观看| 国产麻豆综合| 欧美日韩一区在线播放| 久热这里只精品99re8久| 午夜精品在线| 中国成人在线视频| 日韩午夜在线电影| 亚洲国产欧美一区二区三区久久 | 亚洲综合色视频| 亚洲日本理论电影| 国户精品久久久久久久久久久不卡| 欧美日韩综合| 欧美日韩亚洲国产精品| 欧美国产亚洲另类动漫| 久久久精品日韩欧美| 午夜精品婷婷| 亚洲自拍偷拍色片视频| 一本色道**综合亚洲精品蜜桃冫 | 国产精品久久久久久亚洲毛片| 欧美黄色一区二区| 免费成人你懂的| 久久这里有精品15一区二区三区| 欧美一区二区成人6969| 欧美亚洲在线观看| 性色av一区二区三区在线观看| 亚洲特级毛片| 亚洲欧美在线视频观看| 午夜精品久久久久99热蜜桃导演| 亚洲一区二区精品| 亚洲欧美国产高清| 午夜精品一区二区三区四区| 亚洲视频中文字幕| 亚洲欧美国产不卡| 性久久久久久久久久久久| 亚洲综合日韩在线| 欧美一区午夜精品| 久久免费视频网| 免费观看成人www动漫视频| 麻豆国产精品va在线观看不卡| 麻豆成人综合网| 欧美人与性动交cc0o| 国产精品高清网站| 国产欧美日韩视频在线观看| 国产亚洲成av人在线观看导航| 狠狠色2019综合网| 亚洲国产精品ⅴa在线观看| 亚洲乱码视频| 亚洲在线国产日韩欧美| 久久av一区二区三区漫画| 久久久久久国产精品mv| 欧美va亚洲va香蕉在线| 亚洲精品小视频在线观看| 一区二区激情| 久久国产精品一区二区三区四区| 久久综合综合久久综合| 欧美日韩亚洲91| 国产亚洲aⅴaaaaaa毛片| ●精品国产综合乱码久久久久| 日韩午夜一区| 性欧美8khd高清极品| 卡通动漫国产精品| 99re8这里有精品热视频免费 | 欧美在线高清| 欧美成人综合在线| 国产精品久久久久久妇女6080 | 久久久999精品免费| 欧美大片专区| 国产精品亚洲视频| 亚洲欧洲精品一区二区三区波多野1战4| 99在线|亚洲一区二区| 久久成人综合网| 亚洲国产高清aⅴ视频| 亚洲少妇诱惑| 欧美69wwwcom| 国产一区99| 中文在线不卡视频| 欧美成人精品一区| 午夜精品久久| 欧美日韩精品免费观看视频| 狠狠入ady亚洲精品| 亚洲一区日韩| 亚洲国产精品一区二区www| 亚洲欧美区自拍先锋| 欧美激情视频在线播放| 狠狠色丁香久久婷婷综合丁香| 亚洲性色视频| 最近中文字幕日韩精品 | 久久久蜜桃一区二区人| 国产精品a级| 亚洲精品在线电影| 久久综合网hezyo| 亚洲欧美一区二区三区久久 | 久久综合色8888| 国产欧美精品一区二区三区介绍 | 久久精品成人欧美大片古装| 亚洲精品网站在线播放gif| 久久久不卡网国产精品一区| 国产精品久久久久一区二区三区共| 亚洲精品视频免费| 免费高清在线视频一区·| 午夜亚洲性色福利视频| 欧美午夜理伦三级在线观看| 日韩午夜精品| 91久久黄色| 欧美成人免费全部| 亚洲国产精品va在看黑人| 久久天天狠狠| 欧美一区影院| 好吊妞这里只有精品| 欧美一区二区三区在线视频 | 先锋影音久久久| 一级日韩一区在线观看| 欧美日韩一区二区在线播放| 亚洲精选在线观看| 亚洲国产一区在线| 欧美福利网址| 一个色综合导航| 9国产精品视频| 欧美日韩久久| 一区二区三区欧美视频| 日韩午夜av电影| 欧美日韩综合在线免费观看| 亚洲夜晚福利在线观看| 宅男噜噜噜66一区二区| 国产精品每日更新| 久久国产精品久久精品国产| 欧美一区二区女人| 影音先锋久久| 欧美激情视频一区二区三区免费 | 午夜精彩视频在线观看不卡 | 久久久久在线观看| 亚洲第一页自拍| 亚洲高清精品中出| 欧美日韩综合视频网址| 亚洲在线成人精品| 亚洲欧美在线播放| 精品1区2区3区4区| 欧美激情四色| 欧美亚一区二区| 久久久久久噜噜噜久久久精品| 久久精品一本| 亚洲另类黄色| 午夜精品成人在线| 亚洲第一在线视频| 亚洲久久一区二区| 国产亚洲福利| 亚洲黄网站黄| 国产精品久久久久久妇女6080| 久久国产精品99国产精| 久久综合久久综合久久综合| 一本久久a久久精品亚洲| 午夜精品国产精品大乳美女| 亚洲高清视频的网址| 一本色道久久88综合日韩精品| 国产亚洲精久久久久久| 亚洲经典视频在线观看| 国产农村妇女精品一二区| 欧美r片在线|