⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 游戏程式设计指南(hoho篇) lesson3.htm

📁 游戏程式设计指南
💻 HTM
📖 第 1 页 / 共 2 页
字号:
              <TR>
                <TD align=middle bgColor=#001824 width="100%"><FONT 
                  size=2>载入图形数据</FONT></TD></TR>
              <TR>
                <TD align=middle width="100%"><FONT size=1>&nbsp;<BR><IMG 
                  border=0 height=366 
                  src="游戏程式设计指南(HoHo篇) Lesson3.files/Lesson3_2.gif" 
                  width=503><BR> </FONT></TD></TR></TBODY></TABLE></CENTER></DIV>
            <P><FONT face=Arial 
            size=2><BR>这里分别用了三支不同的函数来进行载入数据,分别是:<BR><BR>  用来载入JPG图形各式的 
            </FONT><FONT color=#99ccff face=宋体 size=2>CreateBitmapFromJPG() 
            </FONT><FONT color=#ff0000 size=2>(<B>注1</B>)</FONT><FONT face=Arial 
            size=2><BR>  用来载入TGA图形各式的 </FONT><FONT color=#99ccff face=宋体 
            size=2>CreateBitmapFromTGA() </FONT><FONT face=Arial 
            size=2><BR>  用来载入BMP图形各式的 </FONT><FONT color=#99ccff face=宋体 
            size=2>CreateBitmapFromBMP()</FONT><FONT face=Arial 
            size=2><BR><BR>这三支函数对应了3种不同格式的图形文件进行了支持,其中TGA格式会自动识别图像本身是否带Alpha通道数据,如果有,在LP_BITMAPX结构中会保存Alpha通道数据,以供将来使用,如果没有,则保存为普通的图形数据方式;另外,BMP格式会自动识别256色图形的数据,并且自动将其转换为16Bit的内部管理色彩数据。<BR><BR>  怎么样?很容易吧,具体如何实现图形数据载入的问题就留给HoHo来帮你解决。 
            :)<BR><BR><BR><BR></FONT><FONT face=Arial size=4><B><A 
            name=绘制图像>绘制图像</A></B></FONT><FONT face=Arial 
            size=2><BR><BR>  数据载入完成了,让我们来把它们Show一下,看看是否达到我们的要求。<BR><BR>  我们在以前已经建立好了游戏的循环体,我们现在只要把我们的显示图像的代码放入循环中,游戏程序就会为你不停的刷新游戏窗口,当然,它的刷新内容就是你所指定的图像了。让我们来看看代码片段:<BR><BR></FONT></FONT><FONT 
            color=#99ccff face=宋体 size=2>    GetGraphics()-&gt;DrawBitmapMMX( 0, 
            0, g_pBitmapJPG, SCREENBUFFER 
            );<BR>    GetGraphics()-&gt;DrawBitmapMMX( 100, 100, g_pBitmapBMP, 
            SCREENBUFFER );<BR>    GetGraphics()-&gt;DrawBitmapAlphaChannelMMX( 
            300, 300, g_pBitmapTGA, SCREENBUFFER );</FONT></P><FONT face=Arial>
            <DIV align=center>
            <CENTER>
            <TABLE border=1 borderColor=#002846 cellPadding=0 cellSpacing=0 
            id=AutoNumber12 style="BORDER-COLLAPSE: collapse" width="80%">
              <TBODY>
              <TR>
                <TD align=middle bgColor=#001824 width="100%"><FONT 
                  size=2>显示图像</FONT></TD></TR>
              <TR>
                <TD align=middle width="100%"><FONT size=1>&nbsp;<BR><IMG 
                  border=0 height=398 
                  src="游戏程式设计指南(HoHo篇) Lesson3.files/Lesson3_3.gif" 
                  width=618><BR> </FONT></TD></TR></TBODY></TABLE></CENTER></DIV>
            <P><FONT face=Arial 
            size=2>这里我们使用了三句代码来进行图像绘制,前两句是使用普通的绘制方法来进行图像绘制,最后一句是让HoHo根据图像的Alpha通道数据来绘制那个图像,这里我们不介绍绘制函数的具体操作,我们会在Lesson4进行全面的了解,这里只是为了展示你所载入的图形文件。<BR><BR>  代码加入后,让我们来编译运行一下游戏程序,怎么样?是否如你所愿?下图是附带的例子工程运行截图。<BR><BR><IMG 
            border=0 height=625 
            src="游戏程式设计指南(HoHo篇) Lesson3.files/Lesson3_6.jpg" 
            width=806><BR>(图像资源来源于 <A href="http://www.gpgame.net/">金点时空</A> 
            的《圣剑英雄传II》)<BR><BR>有没有看到我们的树闪闪发光?嘿嘿!这个就是Alpha通道数据给我们带来的图像效果,是不是像一些游戏中经常可以看到的光影效果。具体如何实现这些,我们下回再讲!<BR><BR><BR><BR></FONT><FONT 
            face=Arial size=4><B><A name=图像释放>图像释放</A></B></FONT><FONT 
            face=Arial 
            size=2><BR><BR>  图形文件载入完了,也显示出来了,有一点需要我们紧记,创建了数据用完之后,把数据空间还给操作系统,养成良好的习惯是非常有用的,这里我们来看看HoHo如何释放数据:<BR><BR>  ……<BR><BR>怎么?没有代码了?呵呵,放心,还记得前面有讲过HoHo的释放,实际上HoHo在图形设备被Delete的时候,会自动将自己所用过的图像数据释放,这点HoHo已经帮你完成了,不过可能有些用户会说,我不想等HoHo的图形设备被释放后才释放图像数据,我想我游戏一边运行一边释放不需要的数据,那好,我们来看看下面的例子代码:<BR><BR></FONT></FONT><FONT 
            color=#99ccff face=宋体 size=2>    GetGraphics()-&gt;RemoveBitmap( 
            g_pBitmapJPG );</FONT><FONT face=Arial><FONT face=Arial 
            size=2><BR><BR>只要通过这句,就能简单的将g_pBitmapJPG这个图像数据给释放。<BR><BR><BR>  好了,又到了结束时间,可能有些朋友会留下一个疑问,为什么总是要使用"</FONT></FONT><FONT 
            color=#99ccff face=宋体 size=2>GetGraphics()-&gt;</FONT><FONT 
            face=Arial 
            size=2>"?我可以告诉你,这个函数可以获得HoHo的图像指针句柄,当然,前提是你已经初始化完成了,这个函数是全局的,有了这支函数,不管你游戏如何构架,只要呼叫这支函数,就能立即获得图像的操作权,这样可以给我们的游戏开发带来便利。:)<BR><BR><BR>  本教程到目前为止的<A 
            href="http://www.gameres.com/HoHo/Guide/Lesson3.zip">工程文件下载</A>。<BR>  (此档案不包含HoHo游戏引擎库,如若程式无法执行,请根据所使用的HoHo版本附带的DLL库文件替换程式所执行目录中的同名文件。)<BR><BR><BR>注1:HoHo的JPG图像文件支持是通过 
            Intel 的 JPEG Library 进行支援,如果在游戏程序中有使用到JPG图像功能,均需要有 ijl51.dll 
            的支持,此文件在HoHo的数据包中有包含。</FONT><FONT face=Arial 
            size=2><BR><BR><BR><BR>Write Date: 2003-08-0</FONT><FONT 
            size=2>7</FONT><FONT face=Arial><FONT face=Arial 
            size=2><BR></FONT><FONT face=宋体 
            size=2>----------------------------------------------------------------<BR></FONT><FONT 
            face=Arial size=2>&nbsp;&nbsp;&nbsp; HoHo游戏引擎下载以及最新资讯请访问 <A 
            href="http://www.gameres.com/HoHo">http://www.gameres.com/HoHo</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            未经许可请勿转载此系列教程,编写:林德辉(Sea_Bug)<BR>&nbsp;&nbsp; Copyright &copy; 
            中国游戏开发资源网(GameRes.com) All Rights reserved</FONT><FONT face=宋体 
            size=2><BR>----------------------------------------------------------------</FONT><FONT 
            face=Arial size=2><BR> </FONT></FONT></P></TD></TR>
        <TR>
          <TD width="100%"> </TD></TR>
        <TR>
          <TD bgColor=#151631 width="100%">
            <P align=right><FONT size=1><A 
            href="http://www.gameres.com/">GameRes</A>&nbsp;&nbsp;</FONT></P></TD></TR>
        <TR>
          <TD width="100%">
            <P align=right>
            <FORM>
            <P align=right><FONT size=1>&nbsp;</FONT><BR><INPUT onclick=window.close() type=button value="关 闭 窗 口"></P></FORM></TD></TR></TBODY></TABLE></CENTER></DIV></TD></TR>
  <TR>
    <TD width="100%">
      <P align=center><BR><FONT face=Arial></FONT><BR><BR><FONT 
      size=2>本站中所有文章以及图形均为作者本人、公司所有,本站所有资讯仅供参考,若有任何损失本站概不负责,请自行斟酌。<BR>Copyright 
      &copy; 2001-200? 中国游戏开发资源网(GameRes.com) All Rights reserved.<BR>This site is 
      optimized for at least 1024x768 resolution (hi-color) viewing with a 
      browser that supports style sheets.<BR>
      <SCRIPT language=JavaScript><!--function SymError(){  return true;}window.onerror = SymError;var SymRealWinOpen = window.open;function SymWinOpen(url, name, attributes){  return (new Object());}window.open = SymWinOpen;//--></SCRIPT>

      <SCRIPT src="游戏程式设计指南(HoHo篇) Lesson3.files/mystat.htm"></SCRIPT>
      <BR> </FONT></P></TD></TR></TBODY></TABLE></FONT>
<SCRIPT 
language=JavaScript><!--window.open = SymRealWinOpen;//--></SCRIPT>
</BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -