hge游戏开发第二课.pptVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
hge游戏开发第二课

HGE游戏开发第二课;电子相册;纹理贴图 纹理定义了物体表面的结构,如花纹,图案,皱纹等等。有了纹理,模型世界才会更加丰富多彩。如一个球形模型,我们给其映射足球的纹理,这就是一个足球,给其映射地球纹理,就是一个地球。 计算机图形学中,纹理贴图就是使用图像、函数或者其他数据源来改变物体表面外观。 简单的说,纹理贴图就是对物体表面属性进行建模或调制的过程。;;加载纹理 HGE::Texture_Load函数 Loads a texture from memory, resource pack or disk file.? 从内存、资源包或者磁盘文件加载纹理。 HTEXTURE Texture_Load(const char *filename,DWORD size = 0,bool bMipmap = false);;参数 filename 纹理文件名。 size 如果这个参数不是0,那么这个纹理在内存中的大小就使用参数filename中所指定的这个指针。 bMipmap 如果为真,一组mipmap标准将自动建立并使用渲染。(Mipmap是目前应用最为广泛的纹理映射技术之一,它可以在内存中保存不同分辨率和尺寸的纹理图形,当3D对象移动时允许纹理光滑变化。) ;返回值 如果成功,返回纹理句柄。否则返回0。 注意 支持BMP, DDS, DIB, JPG, PNG 和 TGA图形文件格式。DDS格式允许在较好的性能和较低的视频视频存储条件下使用DXT1-DXT5纹理压缩。 当你不需要长时间使用这个纹理的时候,你必须使用Texture_Free函数将它删除。 ;精灵动画 动画的绘制机制概括说来就是以一定的速度连续播放静态的图片,这样人眼就能识别出动画,一般我们人眼能够分辨的动画速度为10——20帧/秒,我们称之为FPS(Frame Per Second),低于10帧就会变得很卡,高于20就会变成快动作,因此,控制好这个数值对游戏整体的流畅度至关重要。 ; 在游戏中,精灵的图片经常是被放置到一张图片上,下图就是一个典型的2d游戏精灵图片: ; 那么这样的一张图片是如何变成动画的呢?一般来说,我们需要把这一整张图片进行切割,然后给每一帧进行编号,索引从0开始,也就是说,上面的图片在切割后每个小块都有了自己的索引,如下图所示: 游戏帧序列 ;精灵类 hgeSprite 构造函数 hgeSprite ( HTEXTURE tex, // 纹理的句柄 float x, // sprite 对应的纹理??? x 坐标 float y, // sprite 对应的纹理的 y 坐标(区别于顶点中的纹理坐标,这里无需规格 化坐标间隔) float w, // sprite 的宽 float h // sprite 的高 ); 例如:hgeSprite* pSpt = new hgeSprite(tex, 32, 32, 32, 32); ;设置混合模式,根据情况设置混合模式,后面详细讨论: SetBlendMode(BLEND_COLORMUL | BLEND_ALPHAADD BLEND_ALPHAADD BLEND_ALPHAADD BLEND_ALPHAADD | BLEND_NOZWRITE); // 建议使用 BLEND_ALPHAADD ,这样看起来效果会好很多(增亮)。 设置锚点(似乎和函数名字有点不符) void SetHotSpot( float x, // 锚点的 x 坐标 float y // 锚点的 y 坐标 ); 锚点是这样的一个点 : 进行一些操作的中心点 。 例如进行旋转操作的中心点 , 即旋转操作依赖于这个点。通常设置 sprite 的中心点为锚点。 ;渲染函数 bool RenderFunc()//绘制函数,程序开始后HGE将不停调用它 设置渲染函数 hge-System_SetState(HGE_RENDERFUNC,RenderFunc);//设置绘制函数为RenderFunc函数 渲染流程 hge-Gfx_BeginScene();//开始渲染 hge-Gfx_Clear(0xFF000000);//以某颜色清屏,OxFF000000为透明度为0的黑色 //开始渲染函数 hge-Gfx_EndScene();//结束渲染 ;时间片函数 Timer_GetTime 返回使用System_Initiate函数命令的时间. Timer_GetDelta 返回最后一次调用框架的时间. Timer_GetFPS 返回最近的FPS速率. ;感谢您的关

文档评论(0)

celkhn0303 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档