HGE教程翻译(3)

    技术2022-05-19  20

    Tutorial 03 – 使用 helper classes

     

    这次我们会学习使用HGE的一些帮助类。首先,包含所有需要的头文件并声明HGE全局指针,大多数帮助类都需要它。

     

    #include <hge.h> #include <hgesprite.h> #include <hgefont.h> #include <hgeparticle.h>   HGE *hge=0;

     

    现在声明HGE对象。

     

    hgeSprite*          spr; hgeSprite*          spt; hgeFont*            fnt; hgeParticleSystem*  par;   HTEXTURE            tex;

     

    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;

     

    这个程序的结束值和先前的示例是一样的。 


    最新回复(0)