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。

  

  

原文地址:https://www.cnblogs.com/yoru/p/4018026.html