<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                這節課我們參考了[13歲外國小程序員的編程游戲](https://www.raywenderlich.com/2795-beginning-game-programming-for-teens-with-python)。 [TOC] # 步驟零:python 環境部署 我們還是使用`Anaconda` 的 `python3.5` 虛擬環境,這里面我們要用到`pygame`這個工具,`python3`對`pygame`的支持要好很多,所以我們得用 python3.5 的虛擬環境(好吧,順便吐槽一下`python2`和`python3`的兼容問題,不過這個問題k12以下小朋友就不用了解了,等他們長大了,這個問題肯定不存在了,他們遇到的可能是`python7`和`python8`的兼容問題。) 切換到虛擬環境: `source activate python3.5` 然后安裝`pygame`,這里使用`pip`這個安裝工具,(貌似 python 有很多安裝方式,我們選一個最簡單的工具。人生苦短,不要太麻煩!) `pip install -U pygame --user` 安裝后,要檢查一下`pygame`是不是真的裝上了,這個工具的開發者很好啊,提供了一個方法(我們都要向他學習,人人都這樣,世界該多美好啊!) `python -m pygame.examples.aliens` 這里參考的是[pygame安裝指南](https://www.pygame.org/wiki/GettingStarted)。 然后就進行正題了。 ***** # 步驟一:Hello 兔子哥 添加[游戲資源](http://www.raywenderlich.com/downloads/BB_Resources.zip)。下載文件后,在硬盤上為您的游戲創建一個文件夾,并將資源文件夾解壓縮到該文件夾??中,以便您的游戲文件夾中有一個名為resources的子文件夾,其中各種資源分組在其中的其他文件夾中,如下所示: ![](https://box.kancloud.cn/96b664ed247c79b96e04ee6a146a8142_1400x518.png) 現在可以開始創建游戲“兔子和獾”了。***代碼如下:*** ``` # 1 - Import library 導入我們需要的工具 import pygame from pygame.locals import * # 2 - Initialize the game 初始化游戲 pygame.init() width, height = 640, 480 screen=pygame.display.set_mode((width, height)) # 3 - Load images 加載背景圖片 player = pygame.image.load("resources/images/dude.png") # 4 - keep looping through 建立一個循環 while 1: # 5 - clear the screen before drawing it again 游戲重新開始,把屏幕清空 screen.fill(0) # 6 - draw the screen elements 在屏幕上畫一些必要的東西 screen.blit(player, (100,100)) # 7 - update the screen 更新屏幕 pygame.display.flip() # 8 - if it is quit the game 如果檢測到退出游戲,就退出游戲 for event in pygame.event.get(): if event.type==pygame.QUIT: pygame.quit() exit(0) ``` 將文件保存到您的游戲文件夾(資源子文件夾所在的文件夾)中,并將其命名為`game.py`。 我們逐節介紹代碼: 1. 導入pygame庫。 這樣我們就可以在程序中使用庫中的函數。 1. 初始化PyGame并設置顯示窗口。 1. 加載將用于兔子的圖像。 1. 繼續循環代碼塊。 > 注意:在其他計算機語言里使用花括號來顯示要在`while`循環或`if`語句中執行的代碼塊,`Python`使用縮進來識別代碼塊。 所以適當的縮進在`Python`中非常重要 - 記住這一點。 5. 在繪制任何東西之前用黑色填充屏幕。 1. 將加載的兔子圖像添加到`x = 100`和`y = 100`的屏幕上。 1. 更新屏幕。 1. 檢查是否有任何新事件,如果新事件是退出,則退出程序。 > 注意:根據`pygame` 文檔 ,您不需要調用`pygame.quit()`,因為解釋器會在解釋器關閉時自動調用它。 但是,至少在`Mac OS`上,除非調用`pygame.quit()` ,否則游戲將在退出時掛起。 如果現在運行代碼,應該看到類似于下面的屏幕: ![](https://box.kancloud.cn/18cd07e2340c8c3254f9b8afbd2d5d89_391x320.png) 兔子上場了,準備好行動了! 看起來有點孤獨有點黑茫茫,只有兔子站在黑色的背景上。 是時候美化一點點了。 # 步驟二:兔子哥說,給我來點背景,我要戰斗 讓我們首先在游戲場景中添加背景。 這可以通過幾個`screen.blit()`調用來完成。 在第3節末尾,加載播放器圖像后,添加以下代碼: ``` grass = pygame.image.load("resources/images/grass.png") castle = pygame.image.load("resources/images/castle.png") ``` 這會把圖像并將放入屏幕中。 但是,草地沒有覆蓋整個屏幕區域哦,這意味著我們得多寫點代碼把草覆蓋在整個屏幕區域上。 將以下代碼添加到第6節開頭的`game.py`中: ``` for x in range(width/grass.get_width()+1): for y in range(height/grass.get_height()+1): screen.blit(grass,(x*100,y*100)) screen.blit(castle,(0,30)) screen.blit(castle,(0,135)) screen.blit(castle,(0,240)) screen.blit(castle,(0,345 )) ``` `for`語句首先遍歷`x`。 然后,在第二個`for`循環中,它將遍歷`y`并在`for`循環生成的`x`和`y`值處繪制草。 接下來的幾行只是在屏幕上繪制城堡。 如果你現在運行程序,你應該得到這樣的東西: ![](https://box.kancloud.cn/bb992b243849aa64147c87133dc3d97f_391x320.png) 這樣看起來好很多啦! 簡單一點的是這樣的: ![](https://box.kancloud.cn/c3d4856089c31b88a45d3efdcea398d2_1366x768.png)
                  <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>

                              哎呀哎呀视频在线观看