<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                我們知道,游戲里的動畫就是在短暫的時間里讓窗口畫面不斷的變換圖像。通過視覺的延遲來欺騙眼鏡,讓我們以為看到的是一個連續的動畫。 想象我們的程序窗口有6個像素寬、1個像素高。除了4, 0位置的像素是黑色的外,所有的像素顏色都是白色的。窗口是這個樣子: ![](https://adatech-1256165843.cos.ap-chengdu.myqcloud.com/20181012200354.png) 如果我們同時把第3,0的位置改為黑色、4,0位置改為白色,窗口會展示成下面的樣子: ![](https://adatech-1256165843.cos.ap-chengdu.myqcloud.com/20181012200424.png) 對于用戶來說,他看到的就是第四個黑色移動到了第三個黑色位置上。如果我們把2,0改為黑色,那真個程序給用戶看起來就是一個動畫了。 ![](https://adatech-1256165843.cos.ap-chengdu.myqcloud.com/20181012200455.png) 對我們來說這是對話,但是對計算機來講,它就是在很短的時間里渲染了三張不同圖片而已。 下面,我們來做個例子演示貓捉老鼠的動畫: ![](https://adatech-1256165843.cos.ap-chengdu.myqcloud.com/20181012200517.png) 看代碼: ``` import pygame, sys from pygame.locals import * pygame.init() FPS = 30 # frames per second setting fpsClock = pygame.time.Clock() # set up the window DISPLAYSURF = pygame.display.set_mode((400, 300), 0, 32) pygame.display.set_caption('Animation') WHITE = (255, 255, 255) # 加載一個貓的圖片,這個后續會講 catImg = pygame.image.load('cat.png') catx = 10 caty = 10 direction = 'right' while True: # the main game loop DISPLAYSURF.fill(WHITE) if direction == 'right': catx += 5 if catx == 280: direction = 'down' elif direction == 'down': caty += 5 if caty == 220: direction = 'left' elif direction == 'left': catx -= 5 if catx == 10: direction = 'up' elif direction == 'up': caty -= 5 if caty == 10: direction = 'right' # 將圖片渲染到窗口上 DISPLAYSURF.blit(catImg, (catx, caty)) for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() # 更新窗口 pygame.display.update() # 每秒多少楨 fpsClock.tick(FPS) ``` ## 動畫每秒的楨數和pygame.time.Clock對象 動畫幀率是指我們程序每秒刷新圖片的次數,通常被稱為FPS。低幀率會讓游戲顯得很卡,我們一般設置為30即可。 `pygame.time.Clock` 對象幫助我們指定程序的最大幀率,如果我們不設置這個參數,游戲在一些電腦上會運行過快,導致用戶反映不過來。我們調用Clock對象的tick方法來指定游戲幀率。 ``` fpsClock = pygame.time.Clock() fpsClock.tick(FPS) ``` 需要注意的是,`fpsClock.tick(FPS)` 方法通常放在我們游戲主循環的最后一句,也就是`pygame.display.update()`的下面。這樣,程序在每一次渲染畫面的時候會跟進全面渲染畫面的時間來調整當前渲染時間。 **阿達老師-孩子身邊的編程專家** *完整課程請關注阿達老師,主頁里有完整的課程目錄和觀看地址*
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看