天天看點

pygame-KidsCanCode系列jumpy-part2-加速度與摩擦力

pygame-KidsCanCode系列jumpy-part2-加速度與摩擦力

上一節,我們整理了一個遊戲開發的新架構(即:Game類),本節将運用這個架構,實作基本的加速度及摩托力效果。

先定義遊戲的精靈(下面代碼命名為sprites.py)

稍作解釋:

1. 在2D遊戲中,會大量用到類似(x,y)的結構,pygame中已經把這種結構封裝成了Vector2,我們就直接用它了

2. 加速度的定義:機關時間内速度的變化量。在遊戲中,最基本的機關就是幀,類似于機關時間,是以每一幀,我們在速度self.vel(velocity的縮寫)值上的改變即為加速度self.acc( acceleration的縮寫)

3. 摩擦力的效果,表現為阻礙物體運動,具體在代碼中展現,隻要想辦法把速度減少一點點,由于加速度也會影響速度,是以有二種做法:a、讓每次加速度acc的變化小一點; b、讓每次速度vel的變化小一點。上面的代碼,使用的是a做法。

加速度以及摩托系數的常量定義,仍然放在settings.py中:

然後在main.py中,利用上節的新架構,把新的sprite類導進來:

新架構的好處這時候就展現出來了,核心代碼隻要在19行,建立Player執行個體,并加入all_sprites容器即可。

pygame-KidsCanCode系列jumpy-part2-加速度與摩擦力

作者:菩提樹下的楊過

本文版權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。

繼續閱讀