来看看第二个程序,程序就不贴了。
第二个程序相比于第一个程序多了声音和纹理的使用,这里出现的新的东西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。
