天天看點

《HTML5 2D遊戲程式設計核心技術》——第3章,第3.7節反轉滾動方向

本節書摘來自華章出版社《html5 2d遊戲程式設計核心技術》一書中的第3章,第3.7節反轉滾動方向,作者[美] 戴維·吉爾裡,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

3.7 反轉滾動方向

回想一下,snail bait遊戲中所有的水準移動,都是通過持續地平移遊戲繪圖區域的坐标系,并持續地在相同的水準位置重新繪制所有物體的結果。這種産生明顯水準運動的方法,可以使遊戲代碼在幾個方面變得簡單。首先,遊戲不需要給每一個sprite對象計算水準位置,因為它們的水準位置從來都沒有改變,相反,sprite對象控制它們自己的水準運動偏移量,正如背景偏移量控制自己的水準偏移運動一樣。其次,改變方向使得所有物體在水準方向上朝相反的方向運動,這僅僅涉及改變遊戲背景的移動速率,如程式清單3.16所示。

程式清單3.16 向左、向右轉換方向

《HTML5 2D遊戲程式設計核心技術》——第3章,第3.7節反轉滾動方向

再次提醒你,記住snail bait遊戲的動畫循環是連續的。設定bgvelocity變量值将會在下一次snail bait遊戲繪制動畫幀時起作用。

既然你應該已經了解了如何在不受動畫幀速率影響的條件下,使用固定的頻速率滾動背景,接下來就讓我們看看在snail bait遊戲中是如何使用前面讨論過的setbackgroundoffset()函數和drawbackground()函數的。

繼續閱讀