多背景循环动画的背景循环原理其实与随笔“
背景动画设计——循环背景动画”讲过的背景循环的原理相同。不过由于不同背景在远近层次上及实际视觉移动速度上并不相同,因此在以贴图的方法制作多背景循环动画时,需要决定不同背景贴图的先后顺便及滚动的速度。
下图是本篇随笔多背景循环动画范例的运行结果,画面中出现了几种背景及恐龙跑动的前景图:
观察上面的图,先要决定构成这幅画面的贴图顺序。从远近层次来看,天空是最远的,接着是草地和山峦,因为山峦叠在草地上,接下来是房屋,最后才是前景的恐龙,所以进行画面贴图时顺序应该是:
天空—>草地—>山峦—>房屋—>恐龙 另外,进行山峦、房屋及恐龙的贴图操作时,还需要进行透明的操作,才能使得这些物体能叠在它们前一层的背景上。
决定了贴图时的顺序之后,接着要来决定北京滚动时的速度。由于最远的背景是天空,所以当前景的恐龙跑动时,滚动速度应该是最慢的,而天空前的山峦滚动速度应该比天空要快一点,至于房屋与草地,因为连在一起,所以滚动速度相同,而且又会比山峦还要快一点,这样我们就决定出了所有背景的滚动速度为:
天空<山峦<草地=房屋 前景的恐龙只让它在原地跑动,由于背景自动向右滚动,因此就会产生恐龙向前奔跑的视觉效果。
范例ch3_7:运用贴图技巧并调整不同背景循环滚动的速度,显示具有远近层次感的多背景循环动画。
下载地址:
ch3_7(上传到windows live空间,可能需要MSN账号登陆)
说明:程序源代码中有相关的注释。
程序运行结果如下图:
PS:如想获得更多关于Visual C++游戏开发的内容,可点击随笔
:《Visual C++游戏编程基础》学习笔记——索引随笔。