Visual C++游戏编程基础之动画显示问题

本文介绍了在Visual C++游戏开发中处理贴图修正和动画显示的问题。通过排序贴图解决恐龙阴影遮掩,利用冒泡排序确保贴图正确顺序,并详细阐述了基本思路和实现代码,最终展示实际效果。
摘要由CSDN通过智能技术生成

一、为什么要进行贴图修正

目的是解决恐龙底下的阴影问题,要想办法让它重合,不然看起来不流畅,所以要适当修改即将贴图的坐标;

二、排序贴图

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,那

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值