父爱动画代码python_pygame用blit()实现动画效果的示例代码
pygame的的實現(xiàn)動畫的方法有很多,但是都是圍繞著表面進行的,也就是說實現(xiàn)動畫的方式不同,但是本質其實都是對表面的不同處理方式而已。
原理其實很簡單,有點像我們做地鐵的時候隧道里的廣告一樣。我們設置一個窗口。然后讓窗口在一個畫著很多幀圖像的圖上面移動,當我們透過這個窗口去觀察這幅圖的時候,只要窗口沿著一個方向去運動,那么就會產生動畫效果。
今天我介紹的是通過塊傳輸?shù)姆椒ㄈ崿F(xiàn)。
surface.blit(image,(x,y),rect) 在這里surface.blit()這個方法應該大家都很熟悉了,我們就是利用第三個參數(shù),也就是繪制區(qū)域的變化實現(xiàn)的動畫.我們將圖像的一部分繪制出來。如果加上一個簡單的循環(huán),讓繪制區(qū)域的位置發(fā)生變化。那么就可以實現(xiàn)動畫效果啦。
這個方法實現(xiàn)的精靈動畫很簡單.
完整代碼如下:
import pygame,sys
screen = pygame.display.set_mode((600,800))
pygame.display.set_caption('動畫測試')
image = pygame.image.load('boss.png')
rect = image.get_rect()
rect2 = pygame.Rect(0,0,rect.width // 4,rect.height)
tick = pygame.time.Clock()
while:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
for n in range(4):
tick.tick(4)
rect2.x + = n * rect2.width
if rect2.x> 1000:
rect2.x = 0
screen.fill((255,255,255))
screen.blit(image,(0,0),rect2)#這里給了3個實參,分別是圖像,繪制的位置,繪制的截面框
pygame.display.flip()
其實還有一種方式實現(xiàn)動畫,就是surface.subsurface(),明天我會介紹這個方法.
到此這篇關于pygame用blit()實現(xiàn)動畫效果的示例代碼的文章就介紹到這了,更多相關pygame blit()動畫內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
總結
以上是生活随笔為你收集整理的父爱动画代码python_pygame用blit()实现动画效果的示例代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python批量生成图_python图像
- 下一篇: python list_Python中的