【HGE 教程02】简单的游戏背景

来源:互联网 发布:网络教育研究 编辑:程序博客网 时间:2024/05/16 23:56

使用

纹理函数HTEXTURE 

Texture_Load("图片路径和后缀,这里是相对目录");//根据路径载入图片
hgeSprite类
hgeSprite(tex,图片的显示起始位置X,起始位置Y,图片宽,图片高);//初始化精灵spr,并且指定tex为它的纹理

教程源代码下载地址:点击打开链接

教程图片




代码如下:
/*** Haaf's Game Engine 1.8**** 教程2*/#include "hge.h"// 包含hge头文件#include "hgefont.h"// 包含hgefont头文件HGE *hge = 0;//创建一个指向hge类的指针。hgeFont* fnt;//定义字体指针,//显示图片hgeSprite *spr;// 创建精灵类指针HTEXTURE tex;//定义一个 texture(纹理)对象bool FrameFunc()//逻辑函数,此函数每一帧都会被调用一次,把你的游戏循环的代码在这里。{//检测"ESC"键是否被按下,如果返回 "true"  则停止运行程序.if (hge->Input_GetKeyState(HGEK_ESCAPE)) return true;return false;//程序正常时总是返回false,当你希望程序终止时返回true}bool RenderFunc()// 绘制函数,将你的渲染代码放在这里。{//开始渲染图像hge->Gfx_BeginScene(); hge->Gfx_Clear(0xFF000000);//以某颜色清屏,OxFF000000为透明度为0的黑色spr->Render(0,0);//在指定位置显示精灵//设置字体颜色fnt->SetColor(0xFF00FFFF);//渲染格式化的文本字符串(屏幕X坐标,屏幕Y坐标,排列分类符,文本字符串)fnt->printf(0, 0, HGETEXT_LEFT, "tutorials_02");//结束渲染图像hge->Gfx_EndScene();//当你希望程序终止时返回true,//返回true将从 System_Start往下执行//否则返回false。return false;}int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)//WinMain 函数,程序的入口。{hge = hgeCreate(HGE_VERSION);//创建HGE接口,参数必须为HGE_VERSIONhge->System_SetState(HGE_FRAMEFUNC, FrameFunc);//设置逻辑函数为FrameFunc函数hge->System_SetState(HGE_RENDERFUNC,RenderFunc);//设置绘制函数为RenderFunc函数hge->System_SetState(HGE_TITLE, "Hello World!");// 设置窗口标题hge->System_SetState(HGE_SCREENWIDTH, 640);//程序窗口宽度hge->System_SetState(HGE_SCREENHEIGHT, 480);//程序窗口高度hge->System_SetState(HGE_WINDOWED, true);//是否是窗口模式,默认是 800x600hge->System_SetState(HGE_USESOUND, false);//使用声音资源hge->System_SetState(HGE_SHOWSPLASH, false);//去掉HGE开始的LOGO hge->System_SetState(HGE_HIDEMOUSE,false); //设置鼠标if(hge->System_Initiate())//初始化引擎所需的所有软硬件并创建程序窗口。{fnt = new hgeFont("font1.fnt");tex=hge->Texture_Load("bj.png");//根据路径载入图片路径和后缀,这里是相对目录if(!tex)//检测是否图片成功载入{// 如果下初始化失败显示错误消息MessageBox(NULL, hge->System_GetErrorMessage(), "Error", MB_OK | MB_ICONERROR | MB_APPLMODAL);}//(tex,图片的显示起始位置X,起始位置Y,图片宽,图片高)spr=new hgeSprite(tex,0,0,800,900);//初始化精灵spr,并且指定tex为它的纹理  hge->System_Start();//运行FrameFunc().函数. 如果成功则返回true。否则返回false }else{// 如果下初始化失败显示错误消息MessageBox(NULL, hge->System_GetErrorMessage(), "Error", MB_OK | MB_ICONERROR | MB_APPLMODAL);}hge->Texture_Free(tex);//释放纹理delete spr;//释放精灵hge->System_Shutdown(); //复原视频模式,释放所有已分配的资源,并销毁程序窗口。//删除资源hge->Release();//释放HGE接口并在必要时删除HGE对象。return 0;}