HGE教程翻譯(3)

2021-04-15 14:39:09 字數 2167 閱讀 3221

這次我們會學習使用

hge的一些幫助類。首先,包含所有需要的標頭檔案並宣告

hge全域性指標,大多數幫助類都需要它。

#include 

#include 

#include 

#include 

hge *hge=0;

現在宣告

hge物件。

hgesprite*spr;

hgesprite*spt;

hgefont*fnt;

hgeparticlesystem*par;

htexturetex;

framefunc中我們更新粒子系統物件:我們基於精靈速度調整噴射速率並移動它到當前精靈位置。

par->info.nemission=(int)(dx*dx+dy*dy)*2;

par->moveto(x,y);

par->update(dt);

renderfunc中我們渲染所有的物件,呼叫它們的渲染方法。

hge->gfx_beginscene();

hge->gfx_clear(0);

par->render();

spr->render(x, y);

fnt->printf(5, 5, hgetext_left, "dt:%.3f/nfps:%d",

hge->timer_getdelta(), hge->timer_getfps());

hge->gfx_endscene();

winmain函式中

hge初始化後建立

hge物件。首先設定精靈:

spr=new hgesprite(tex, 96, 64, 32, 32);

spr->setcolor(0xffffa000);

spr->sethotspot(16, 16);

接著載入字型。字型用兩個檔案描述

font1.fnt

font1.png

fnt=new hgefont("font1.fnt");

建立粒子系統和精靈。

spt=new hgesprite(tex, 32, 32, 32, 32);

spt->setblendmode(

blend_colormul | blend_alphaadd | blend_nozwrite);

spt->sethotspot(16, 16);

par=new hgeparticlesystem("trail.psi", spt);

par->fire();

現在所有物件建立完畢開始遊戲迴圈。

hge->system_start();

遊戲迴圈結束我們刪除所有的

hge物件。

delete par;

delete fnt;

delete spt;

delete spr;

這個程式的結束值和先前的示例是一樣的。

HGE教程翻譯(4)

渲染紋理 首先我們宣告渲染物件的控制代碼和配合使用的精靈。hgesprite tar htarget target gfxrestorefunc 函式。bool gfxrestorefunc 在renderfunc中我們首先渲染所有的素材到紋理,在 gfx beginscene 中詳細指定渲染物件。...

HGE教程翻譯(5)

使用曲面變換 在這個教程中我們學習如何使用曲面變形,一種可以建立水面 透鏡 紙張甚至實時的變化。我們使用靜態的紋理,但你可以渲染你的整個遊戲場景到乙個紋理,通過扭曲網格來達到一些很酷的實時特效。首先包含標頭檔案和變數的宣告。include include include hge hge 0 htex...

HGE教程翻譯(7)

成千上萬的野兔 這篇教程示範hge渲染多種混合模式。建立精靈 我們跳過所有的技術細節直接來到動作。首先建立並初始化一對精靈,用於 game objects 和背景。注意背景精靈是如何從小的 64x64 圖塊建立並在底部上色。htexture tex,bgtex hgesprite spr,bgspr...