多背景循環動畫的背景循環原理其實與隨筆“
背景動畫設計——循環背景動畫”講過的背景循環的原理相同。不過由于不同背景在遠近層次上及實際視覺移動速度上并不相同,因此在以貼圖的方法制作多背景循環動畫時,需要決定不同背景貼圖的先后順便及滾動的速度。
下圖是本篇隨筆多背景循環動畫范例的運行結果,畫面中出現了幾種背景及恐龍跑動的前景圖:
觀察上面的圖,先要決定構成這幅畫面的貼圖順序。從遠近層次來看,天空是最遠的,接著是草地和山巒,因為山巒疊在草地上,接下來是房屋,最后才是前景的恐龍,所以進行畫面貼圖時順序應該是:
天空—>草地—>山巒—>房屋—>恐龍 另外,進行山巒、房屋及恐龍的貼圖操作時,還需要進行透明的操作,才能使得這些物體能疊在它們前一層的背景上。
決定了貼圖時的順序之后,接著要來決定北京滾動時的速度。由于最遠的背景是天空,所以當前景的恐龍跑動時,滾動速度應該是最慢的,而天空前的山巒滾動速度應該比天空要快一點,至于房屋與草地,因為連在一起,所以滾動速度相同,而且又會比山巒還要快一點,這樣我們就決定出了所有背景的滾動速度為:
天空<山巒<草地=房屋 前景的恐龍只讓它在原地跑動,由于背景自動向右滾動,因此就會產生恐龍向前奔跑的視覺效果。
范例ch3_7:運用貼圖技巧并調整不同背景循環滾動的速度,顯示具有遠近層次感的多背景循環動畫。
下載地址:
ch3_7(上傳到windows live空間,可能需要MSN賬號登陸)
說明:程序源代碼中有相關的注釋。
程序運行結果如下圖:

PS:如想獲得更多關于Visual C++游戲開發的內容,可點擊隨筆
:《Visual C++游戲編程基礎》學習筆記——索引隨筆。