锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久AV高清无码,亚洲精品美女久久久久99小说,亚洲va中文字幕无码久久 http://www.shnenglu.com/keigoliye/category/12618.html涓鍒囬兘鏄焊鑰佽檸zh-cnWed, 23 Dec 2009 08:54:06 GMTWed, 23 Dec 2009 08:54:06 GMT60HGE 緋誨垪鏁欐潗 --- 杈撳叆銆佸0闊沖拰娓叉煋http://www.shnenglu.com/keigoliye/archive/2009/12/23/103812.html鏆楀鏁欑埗鏆楀鏁欑埗Wed, 23 Dec 2009 08:31:00 GMThttp://www.shnenglu.com/keigoliye/archive/2009/12/23/103812.htmlhttp://www.shnenglu.com/keigoliye/comments/103812.htmlhttp://www.shnenglu.com/keigoliye/archive/2009/12/23/103812.html#Feedback0http://www.shnenglu.com/keigoliye/comments/commentRss/103812.htmlhttp://www.shnenglu.com/keigoliye/services/trackbacks/103812.html寤鴻璇昏呭搴?HGE 鐨勫畼鏂圭殑渚嬪瓙錛歍utorial 02 - Using input, sound and rendering 鏉ラ槄璇繪湰鏂?/p>

娓叉煋錛?/strong>

鍦?HGE 涓紝鍥涜竟褰㈡槸涓縐嶅浘鍏冿紝瀵瑰簲浜嗙粨鏋勪綋 hgeQuad錛屽彟澶栬繕鏈変笁瑙掑艦鍥懼厓錛屽搴? hgeTriple錛屼負浜嗘覆鏌擄紝鎴戜滑鐜板湪闇瑕佷嬌鐢?hgeQuad 緇撴瀯浣擄紝榪欎釜緇撴瀯浣撳涓嬶細

struct hgeQuad
{
  hgeVertex  v[4];   // 欏剁偣鎻忚堪浜嗚繖涓洓杈瑰艦
  HTEXTURE   tex;   // 綰圭悊鐨勫彞鏌勬垨鑰呬負0
  int        blend;   // 娣峰悎妯″紡錛坆lending mode錛?br> };

HGE 涓浘鍏冨搴旂殑緇撴瀯浣撴誨惈鏈夎繖3涓儴鍒嗭細欏剁偣錛岀汗鐞嗗彞鏌勶紝娣峰悎妯″紡

struct hgeVertex

{

    float x, y;   // 灞忓箷鐨?x錛寉 鍧愭爣

    float z;   // Z-order錛岃寖鍥?[0, 1]

    DWORD col;   // 欏剁偣鐨勯鑹?/p>

    float tx, ty;   // 綰圭悊鐨?x錛寉 鍧愭爣錛堣祴鍊煎墠闇瑕佽鏍煎寲鍧愭爣闂撮殧錛屼嬌寰? tx錛宼y 鍙栧艱寖鍥村湪[0,1]錛?/p>

};

瑙勬牸鍖栧潗鏍囬棿闅斿湪鍚庨潰鐨勪緥瀛愪腑浼氳皥鍒般備笉榪囧厛瑕佽皥鍒扮殑涓鐐規槸 tx錛宼y 鐨勫艱秴榪?1 涔熸槸鍚堟硶鐨?/p>

 

1. 棰滆壊鐨勮〃紺猴細

棰滆壊浣跨敤32浣嶈〃紺猴紝浠庡乏寮濮嬶紝8浣嶄負 Alpha 閫氶亾錛?浣嶇孩鑹詫紝8浣嶇豢鑹詫紝8浣嶈摑鑹?/p>

瀵逛簬鍚?4浣嶏紝濡傛灉鍏ㄩ儴涓?錛岃〃紺洪粦鑹詫紝濡傛灉鍏ㄩ儴涓?錛岃〃紺虹櫧鑹?/p>

 

2. 瀹氫箟棰滆壊鐨勮繍綆楋細

鎴戜滑鎶婇鑹茬湅鎴愪竴涓洓緇村悜閲忥紝鍗?alpha 閫氶亾錛岀孩鑹詫紝緇胯壊錛岃摑鑹茶繖鍥涗釜鍒嗛噺

    <1> 棰滆壊鏄彲浠ョ浉涔樼殑

    棰滆壊鐨勭浉涔樻槸瀵瑰簲鐨勫洓涓垎閲忓垎鍒浉涔樼殑緇撴灉錛屽嵆錛歛lpha 閫氶亾鐨勫間笌 alpha 閫氶亾鐨勫肩浉涔橈紝綰㈣壊鐨勫間笌綰㈣壊鐨勫肩浉涔橈紝緇胯壊鐨勫間笌緇胯壊鐨勫肩浉涔橈紝钃濊壊鐨勫間笌钃濊壊鐨勫肩浉涔樸?/p>

    <2> 棰滆壊鏄彲浠ョ浉鍔犵殑

    鍚屼笂錛屽搴斿垎閲忕浉鍔犮?/p>

棰滆壊鐨勬瘡涓垎閲忎嬌鐢ㄦ誕鐐規暟琛ㄧず錛岃寖鍥存槸[0-1]錛岀浉鍔犳搷浣滃彲鑳藉鑷存孩鍑猴紝涓縐嶅鐞嗙殑鏂瑰紡灝辨槸錛屽鏋滄孩鍑猴紝鍒欒瀹氬間負1銆?/p>

 

3. 娣峰悎妯″紡錛?/p>

1錛塀LEND_COLORADD

琛ㄧず欏剁偣鐨勯鑹蹭笌綰圭悊鐨勭汗鍏冿紙texel錛夐鑹茬浉鍔狅紝榪欎嬌寰楃汗鐞嗗彉浜紝鍙欏剁偣棰滆壊涓?0x00000000 灝嗕笉閫犳垚浠諱綍褰卞搷銆?/p>

2錛塀LEND_COLORMUL

琛ㄧず欏剁偣鐨勯鑹蹭笌綰圭悊鐨勭汗鍏冮鑹茬浉涔橈紝榪欎嬌寰楃汗鐞嗗彉鏆楋紝鍙欏剁偣棰滆壊涓?0xFFFFFFFF 灝嗕笉閫犳垚浠諱綍褰卞搷銆?/p>

娉ㄦ剰錛氬繀欏誨湪1錛夛紝2錛変腑鍋氫竴涓夋嫨錛屼笖鍙兘閫夋嫨1錛夛紝2錛変腑鐨勪竴涓傚鐞嗙殑瀵硅薄鏄?strong>綰圭悊棰滆壊鍜?strong>欏剁偣棰滆壊銆?/p>

榪欓噷鏈変竴涓妧宸э細

濡傛灉鎴戜滑闇瑕佸湪紼嬪簭涓樉紺轟竴涓皵鐞冿紝榪欎釜姘旂悆鐨勯鑹蹭笉鏂彉鍖栵紝榪欐椂鍊欐垜浠茍涓嶉渶瑕佸噯澶囧寮犱笉鍚岄鑹茬殑姘旂悆綰圭悊錛岃屽彧闇瑕佷竴寮犵櫧鑹茬殑姘旂悆綰圭悊錛岃緗? blend 涓?BLEND_COLORMUL錛岀櫧鑹茬殑R,G,B鍊艱琛ㄧず鎴? 1.0錛屼篃灝辨槸璇達紝綰圭悊棰滆壊鍜岄《鐐歸鑹茬浉涔樼殑緇撴灉鏄《鐐圭殑棰滆壊錛岄偅涔堝氨鍙互閫氳繃淇敼欏剁偣棰滆壊錛屽緱鍒頒換鎰忛鑹茬殑姘旂悆浜嗐?/p>

3錛塀LEND_ALPHABLEND

娓叉煋鏃訛紝灝嗗璞$殑鍍忕礌棰滆壊錛堣岄潪欏剁偣鐨勯鑹詫級涓庡綋鍓嶅睆騫曠殑瀵瑰簲鍍忕礌棰滆壊榪涜 alpha 娣峰悎銆俛lpha 娣峰悎浣跨敤鍒?alpha 閫氶亾錛屽浜庝袱涓儚绱犻鑹茶繘琛屽涓嬫搷浣滐紝寰楀埌涓涓鑹詫細

R(C)=alpha*R(B)+(1-alpha)*R(A)
G(C)=alpha*G(B)+(1-alpha)*G(A)
B(C)=alpha*B(B)+(1-alpha)*B(A)

榪欓噷鐨凚LEND_ALPHABLEND浣跨敤鐨勬槸瀵硅薄鍍忕礌鐨勯鑹茬殑 alpha 閫氶亾銆傚彲瑙佸鏋滃璞″儚绱犻鑹?alpha 閫氶亾涓? 0錛岄偅涔堢粨鏋滃氨鏄彧鏈夊綋鍓嶅睆騫曠殑鍍忕礌棰滆壊錛屼篃灝辨槸甯稿父璇寸殑 100% 閫忔槑錛屽洜姝わ紝鎴戜滑鍙互鐞嗚В alpha 娣峰悎灝辨槸涓涓槸鍥懼儚閫忔槑鐨勬搷浣滐紝0 琛ㄧず瀹屽叏閫忔槑錛?55 琛ㄧず瀹屽叏涓嶉忔槑銆?/p>

4錛塀LEND_ALPHAADD

娓叉煋鏃訛紝灝嗗璞$殑鍍忕礌棰滆壊涓庡綋鍓嶅睆騫曠殑瀵瑰簲鍍忕礌棰滆壊鐩稿姞錛岀粨鏋滄槸鏈変簡鍙樹寒鐨勬晥鏋溿?/p>

娉ㄦ剰錛氳繖閲岀殑3錛夛紝4錛夊繀閫夊叾涓錛屼笖鍙兘閫夊叾涓銆傚鐞嗙殑瀵硅薄鏄?strong>瀵硅薄鍍忕礌棰滆壊鍜?strong>灞忓箷鍍忕礌棰滆壊銆傞夋嫨 BLEND_ALPHABLEND 騫朵笖璁懼畾瀵硅薄鐨?alpha 閫氶亾涓?FF錛屽彲浣挎緇勫弬鏁版棤鏁堛?/p>

5錛塀LEND_ZWRITE

娓叉煋鏃訛紝鍐欏儚绱犵殑 Z-order 鍒?Z-buffer

6錛塀LEND_NOZWRITE

娓叉煋鏃訛紝涓嶅啓鍍忕礌鐨?Z-order 鍒?Z-buffer

榪欓噷涓鏍鋒槸浜岃呴変竴

璁劇疆涓句緥錛?/p>

quad.blend=BLEND_ALPHAADD | BLEND_COLORMUL | BLEND_ZWRITE;   // quad 涓?hgeQuad 鍙橀噺

 

4. HGE 娓叉煋

1錛夊畾涔夊拰鍒濆鍖?hgeQuad 緇撴瀯浣擄細

hgeQuad quad;   // 瀹氫箟鍥涜竟褰?/p>

2錛夊垵濮嬪寲 hgeQuad 鍙橀噺錛?/p>

// 璁劇疆娣峰悎妯″紡

quad.blend=BLEND_ALPHAADD | BLEND_COLORMUL | BLEND_ZWRITE;

// 鍔犺澆綰圭悊

quad.tex = pHGE->Texture_Load("particles.png");

娉ㄦ剰錛岃鍙栫‖鐩樹笂璧勬簮鐨勬椂鍊欙紝鍙兘浼氬け璐ワ紝鍥犳閫氬父閮介渶瑕佹鏌ワ紝渚嬪錛?/p>

if (!quad.tex)

{

    MessageBox(NULL, "Load particles.png", "Error", 0);

}

// 鍒濆鍖栭《鐐?/p>

for(int i=0;i<4;i++)
{
    // 璁劇疆欏剁偣鐨?z 鍧愭爣
    quad.v[i].z=0.5f;
    // 璁劇疆欏剁偣鐨勯鑹詫紝棰滆壊鐨勬牸寮忎負 0xAARRGGBB
    quad.v[i].col=0xFFFFA000;
}

// 榪欓噷鍋囧畾杞藉叆鐨勭汗鐞嗗ぇ灝忎負 128*128錛岀幇鍦ㄦ埅鍙栫敱鐐癸紙96錛?4錛夛紝錛?28錛?4錛夛紝錛?28錛?6錛夛紝錛?6錛?6錛夎繖鍥涗釜鐐瑰洿鎴愮殑鍥懼艦銆?/p>

quad.v[0].tx=96.0/128.0; quad.v[0].ty=64.0/128.0;   // 瑙勬牸鍖栧潗鏍囬棿闅?br> quad.v[1].tx=128.0/128.0; quad.v[1].ty=64.0/128.0;
quad.v[2].tx=128.0/128.0; quad.v[2].ty=96.0/128.0;
quad.v[3].tx=96.0/128.0; quad.v[3].ty=96.0/128.0;

娉ㄦ剰錛屽浜?hgeQuad 緇撴瀯浣擄紝欏剁偣 quad.v[0] 琛ㄧず宸︿笂閭d釜鐐癸紝quad.v[1] 琛ㄧず鍙充笂鐨勭偣錛宷uad.v[2] 琛ㄧず鍙充笅鐨勭偣錛宷uad.v[3] 琛ㄧず宸︿笅鐨勭偣銆?/p>

// 璁劇疆 hgeQuad 鍦ㄥ睆騫曚腑鐨勪綅緗?/p>

float x=100.0f, y=100.0f;

quad.v[0].x=x-16; quad.v[0].y=y-16;
quad.v[1].x=x+16; quad.v[1].y=y-16;
quad.v[2].x=x+16; quad.v[2].y=y+16;

quad.v[3].x=x-16; quad.v[3].y=y+16;

 

3錛夎緗覆鏌撳嚱鏁幫紙render function錛夛細

System_SetState(HGE_RENDERFUNC,RenderFunc);

RenderFunc 鍘熷瀷鍜屽撫鍑芥暟涓鏍鳳細

bool RenderFunc();

4錛夌紪鍐?RenderFunc 鍑芥暟錛?/p>

bool RenderFunc()
{
    pHGE->Gfx_BeginScene();   // 鍦ㄥ浣曟覆鏌撲箣鍓嶏紝蹇呴』璋冪敤榪欎釜鍑芥暟
    pHGE->Gfx_Clear(0);   // 娓呭睆錛屼嬌鐢ㄩ粦鑹詫紝鍗抽鑹蹭負 0
    pHGE->Gfx_RenderQuad(&quad);   // 娓叉煋
    pHGE->Gfx_EndScene();   // 緇撴潫娓叉煋錛屽茍涓旀洿鏂扮獥鍙?br>     return false;   // 蹇呴』榪斿洖 false
}

琛ュ厖錛歀oad 鍑芥暟鏄拰 Free 鍑芥暟鎴愬鍑虹幇鐨勶紝鍗沖湪紜洏涓婂姞杞戒簡璧勬簮涔嬪悗錛岄渶瑕?Free 瀹冧滑錛屼緥濡傦細

quad.tex = pHGE->Texture_Load("particles");

// ...

pHGE->Texture_Free(quad.tex);

 

榪欓噷涓嶅緱涓嶈皥涓涓嬭鏍煎寲鍧愭爣闂撮殧錛岃岃繖涔嬪墠錛岄渶瑕佽璇?Texture_GetWidth(xxx) 鍜? Texture_GetHeight(xxx) 鍑芥暟錛屽鏋滆繖鏍瘋皟鐢細Texture_GetWidth(xxx) 鑾峰彇鐨勬槸澶勪簬鏄懼瓨涓殑綰圭悊瀹藉害錛岃?Texture_GetWidth(xxx, true) 鑾峰彇鍒扮殑鏄浘鍍忔枃浠剁殑瀹藉害錛岄渶瑕佺壒鍒富涔夌殑鏄紝瀵逛簬鍚屼竴寮犵汗鐞嗘潵璇達紝榪欎袱涓煎彲鑳芥槸涓嶄竴鏍風殑錛岄偅涔堝湪瑙勬牸鍖栧潗鏍囬棿闅旂殑鏃跺欙紝搴旇鏄庣‘鐨勬槸錛屽浜庝竴涓? w*h 鍥懼儚鐨勫浘鐗囷紝閭d箞瀵逛簬鍥句腑鐐癸紙x,y錛夊簲璇ヨ漿鎹㈡垚涓猴細

tx = x / pHGE->GetWidth(xxx);
ty = y / pHGE->GetHeight(xxx);

鑰屼笉鑳藉啓鎴愶細

tx = x / pHGE->GetWidth(xxx, true);

ty = y / pHGE->GetHeight(xxx, true);

榪欓噷瑕佹敞鎰忎竴涓?x錛寉 鐨勫惈涔?/p>

鏈鍚庡啀璋堜竴涓?tx 鍜?ty錛屽疄闄呬笂 tx錛宼y 澶т簬 1 涔熸槸鍚堟硶鐨勶紝渚嬪錛?/p>

tx = 800 / 64;

ty = 600 / 64;

榪欎細浣垮緱鍥劇墖閲嶅錛岃屽叿浣撶殑鍚箟錛屽彲浠ラ氳繃瀹炵幇鏉ヤ綋浼?/p>

 

闊蟲晥錛?/strong>

浣跨敤闊蟲晥鏄緢綆鍗曠殑

1. 杞藉叆闊蟲晥錛?/p>

HEFFECT hEffect = pHGE->Effect_Load("sound.mp3");

2. 鎾斁錛?/p>

pHGE->Effect_PlayEx(hEffect);

鎴栬?pHGE->Effect_Play(hEffect);

1錛塃ffect_Play 鍑芥暟鍙帴鍙椾竴涓弬鏁板氨鏄煶鏁堢殑鍙ユ焺 HEFFECT xx;

2錛塃ffect_PlayEx 鍑芥暟杈冧負寮哄ぇ錛屼竴鍏辨湁鍥涗釜鍙傛暟錛?/p>

HCHANNEL Effect_PlayEx(
                       HEFFECT effect,   // 闊蟲晥鐨勫彞鏌?br>                        int volume = 100,   // 闊抽噺錛?00涓烘渶澶э紝鑼冨洿鏄痆0, 100]
                       int pan = 0,   // 鑼冨洿鏄痆-100, 100]錛?100琛ㄧず鍙嬌鐢ㄥ乏澹伴亾錛?00琛ㄧず鍙嬌鐢ㄥ彸澹伴亾
                       float pitch = 1.0,   // 鎾斁閫熷害錛?.0 琛ㄧず姝e父閫熷害錛屽艱秺澶ф挱鏀鵑熷害瓚婂揩錛屽艱秺灝忔挱鏀捐秺鎱€傝繖涓艱澶т簬0鎵嶆湁鏁堬紙涓嶅彲浠ョ瓑浜?錛?br>                        bool loop = false   // 鏄惁寰幆鎾斁錛宖alse琛ㄧず涓嶅驚鐜?br>                        );

 

杈撳叆錛?/strong>

浠呬粎闇瑕佽皟鐢ㄥ嚱鏁?pHGE->Input_GetKeyState(HGEK_xxx); 鏉ュ垽鏂緭鍏ワ紝搴旇鍦ㄥ撫鍑芥暟涓皟鐢ㄥ畠錛屼緥濡傦細

bool FrameFunc()

{

    if (pHGE->Input_GetKeyState(HGEK_LBUTTOM))

       // ...

    if (pHGE->Input_GetKeyState(HGEK_UP))

       // ...

}



]]>
国产成人精品白浆久久69| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 久久精品二区| 欧美性大战久久久久久| 99久久这里只精品国产免费| 亚洲国产精品无码久久一线| 2020最新久久久视精品爱| 国产亚州精品女人久久久久久 | 性做久久久久久免费观看 | 99久久人妻无码精品系列蜜桃 | 久久中文字幕人妻丝袜| 国内精品久久久久久久97牛牛| 久久精品国产亚洲Aⅴ香蕉| 性色欲网站人妻丰满中文久久不卡| 国产综合精品久久亚洲| 久久婷婷五月综合97色| 午夜福利91久久福利| 国产成人精品久久一区二区三区| 久久天天躁狠狠躁夜夜不卡| 99国产精品久久| 免费久久人人爽人人爽av| 久久黄视频| 久久国产视频网| 国产精品一区二区久久精品无码| 性欧美大战久久久久久久久| 久久99热这里只有精品66| 久久精品18| 精品一久久香蕉国产线看播放| 国产精品天天影视久久综合网| 久久香蕉国产线看观看精品yw| 亚洲另类欧美综合久久图片区| 99热精品久久只有精品| 一本伊大人香蕉久久网手机| 国产亚洲综合久久系列| 亚洲AV乱码久久精品蜜桃| 久久婷婷色综合一区二区| 一本色道久久综合狠狠躁篇 | 2021国内久久精品| 精品久久久久久久久免费影院| 久久亚洲精品无码aⅴ大香 | 久久久久av无码免费网|