一、为什么要进行贴图修正
目的是解决恐龙底下的阴影问题,要想办法让它重合,不然看起来不流畅,所以要适当修改即将贴图的坐标;
二、排序贴图
1.为什么要进行排序贴图?
假设有两只恐龙,1号和2号,先贴1号后贴2号,结果可能出现如图遮掩的情况
为了避免这种情况,采用排序贴图;
2.什么是排序贴图?
(1)首先约定,y越小表示越远,y越大表示越近;
(2)建立一个数组,以恐龙的Y坐标作为数组元素,假设有10个,按从小到大排列,这样每次贴图的时候,先贴远处的后贴近处 的,即按数组顺序贴图;
(3)程序采用的排序算法是冒泡排序;
假设有n个数,现在要找出最大的数放到最后一个位置,需要比较n-1次;
然后再找第二大的数,这时候除最后一个数外还有n-1个数,需要比较n-2次;
。。。
最后找第二小的数,这时候就剩两个数,需要比较1次;
由上一共需要找n-1次,这个由外循环控制;而每次循环的比较次数由内循环控制;
for(i=0;i<n-1;i++)
{
f = false;
for(j=0;j<n-i-1;j++)
{
if(dra[j+1].y < dra[j].y)
{
tmp = dra[j+1];
dra[j+1] = dra[j];
dra[j] = tmp;
f = true;
}
}
三、基本思路
1.建立恐龙结构体数组,用来存储要产生的恐龙,每个数据元素是一个结构体变量,其成员变量是恐龙的贴图坐标及方向,方向 无非就是上下左右,这里用0,1,2,3表示;
2.建立switch函数,假设数组大小为10,那