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;

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

转载:点击打开链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值