HGE教程翻译(3)

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;
     

 

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

你可能感兴趣的:(游戏,delete,Blend)