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