zoukankan      html  css  js  c++  java
  • HGE tutorial02

    来看看第二个程序,程序就不贴了。

    第二个程序相比于第一个程序多了声音和纹理的使用,这里出现的新的东西hgeQuad,还有HEFFECT。对于hgeQuad:http://blog.csdn.net/wenzhoufeng22/article/details/2326437,博客中有介绍。

    现在还是不懂,在这个结构中

    struct hgeQuad
    {
        hgeVertex        v[4];
        HTEXTURE        tex;
        int            blend;
    };
    
    /*
    ** HGE Vertex structure
    */
    struct hgeVertex
    {
        float            x, y;        // screen position    
        float            z;            // Z-buffer depth 0..1
        DWORD            col;        // color
        float            tx, ty;        // texture coordinates
    };

      其中hgeQuad中的 blend的属性,还有在hgeVertex中的 z也不是很清楚的东西。

      blend值是指的像素的混合 http://blog.csdn.net/qq45000/article/details/8130685

      通过不同的blend可以实现多种效果,需要实验!

      z-buffer:假设空间是三维的(好像是废话),我们看到的就是xoy面,然后通过设定z坐标则可以表示物体到xoy面对距离。也就是说z值的不同表示的是物体的远近感。

      接下来的代码:

    void boom() {
        int pan=int((x-400)/4);
        float pitch=(dx*dx+dy*dy)*0.0005f+0.2f;
        hge->Effect_PlayEx(snd,100,pan,pitch);
    }
    

      

      也有不了解的部分,对于函数的参数在教程中也没有介绍

      接下来的部分就是都能看懂的部分,没有什么特别的地方。在声明了纹理之后才使用纹理,同时在遇到碰壁的情况时会发出声音,即调用boom()。

      将程序稍加修改,原来只有一个球,我将图片中的另外一个五角星放入球中:)  龙珠的有没有。新建一个ball类,在类中设立两个hgeQuad分别显示五角星和圆形。在画图形的图形遇到了问题,因为在hge中画图形只有三个,Gfx_RenderQuad、Gfx_RenderLine、Gfx_RenderTriple。

      

      

  • 相关阅读:
    (转载)SAPI 包含sphelper.h编译错误解决方案
    C++11标准的智能指针、野指针、内存泄露的理解(日后还会补充,先浅谈自己的理解)
    504. Base 7(LeetCode)
    242. Valid Anagram(LeetCode)
    169. Majority Element(LeetCode)
    100. Same Tree(LeetCode)
    171. Excel Sheet Column Number(LeetCode)
    168. Excel Sheet Column Title(LeetCode)
    122.Best Time to Buy and Sell Stock II(LeetCode)
    404. Sum of Left Leaves(LeetCode)
  • 原文地址:https://www.cnblogs.com/yoru/p/4018026.html
Copyright © 2011-2022 走看看