<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          多媒體程序開發(fā)

          共 2235字,需瀏覽 5分鐘

           ·

          2020-09-10 19:40

          朋友們大家好,相信大部分人都喜歡玩游戲,無論是在工作間隙還是下班回家的路上,可能都會(huì)拿起手機(jī)玩游戲打發(fā)時(shí)間,亦或是在游戲中尋找樂趣,放松自己。上一系列的推文已經(jīng)結(jié)束,主要是跟大家分享了些Python的基礎(chǔ)知識(shí),大家可以在公眾號(hào)主界面查看。從今天起,讓我們開啟進(jìn)階模式,一起來學(xué)習(xí)用Python制作簡(jiǎn)單的小游戲。

          我跟大家分享的內(nèi)容主要是用Python的Pygame Zero模塊來制作小游戲,同時(shí)推薦編程環(huán)境:Thonny(開源跨平臺(tái))。Thonny是一個(gè)跨平臺(tái)的開源開發(fā)環(huán)境,自帶Python解釋器,體積小巧、功能齊備。掃描如下二維碼,會(huì)有老師手把手教你如何安裝Thonny和運(yùn)用Thonny。?

          Thonny安裝好后,進(jìn)行Pygame Zero模塊的安裝。首先打開Thonny,點(diǎn)擊菜單“工具”->“管理模塊”,輸入“pgzero” 點(diǎn)擊搜索,最后點(diǎn)擊“install” ,安裝成功!

          我們制作一個(gè)小精靈,要求點(diǎn)擊小精靈后,會(huì)發(fā)出聲音并且精靈會(huì)摔倒。第一步創(chuàng)建游戲角色:

          ? 在源代碼文件目錄下新建兩個(gè)目錄:一個(gè)是images(名字可自定義),用來存放圖片文件;另一個(gè)是sounds,用來存放聲音文件。

          ? 用Actor類創(chuàng)建一個(gè)精靈對(duì)象:指定圖片、位置

          ? 在draw中畫出精靈:精靈圖片將出現(xiàn)在指定的位置alien.pos

          第二步更新update:改變精靈的位置,每秒會(huì)改變60次!

          import?pgzrun
          import?time
          #創(chuàng)建一個(gè)精靈
          alien?=?Actor('alien')
          alien.pos?=?100,56
          #繪制窗口大小
          WIDTH?=?500
          HEIGHT?=?alien.height?+?100
          #每次需要刷新窗口的時(shí)候,會(huì)自動(dòng)調(diào)用draw函數(shù)
          def?draw():
          ????screen.clear()
          ????screen.fill((128,?0,?0))
          ????alien.draw()

          每一幀都會(huì)調(diào)用update函數(shù)
          def update():
          ??? alien.left += 2
          ??? if alien.left > WIDTH:
          ??????? alien.left = 0

          ?第三步與精靈的交互:pos是鼠標(biāo)的位置,當(dāng)點(diǎn)擊到精靈,精靈就會(huì)摔倒,并發(fā)出“呃”的聲音,1s后恢復(fù)初始狀態(tài);如果沒有點(diǎn)擊到精靈,就會(huì)打印出“快閃”二字;如果無點(diǎn)擊行為,精靈就將一直循環(huán)移動(dòng)。

          def?on_mouse_down(pos):
          ????if?alien.collidepoint(pos):
          ????????set_alien_hurt()
          ????else:
          ????????print("快閃")
          ????????
          def?set_alien_hurt():
          ????????sounds.eep.play()
          ????????alien.image?=?'alien_hurt'
          ????????print("呃")
          ????????clock.schedule_unique(set_alien_normal,?1.0)
          ????????
          def?set_alien_normal():
          ????alien.image?=?'alien'
          pgzrun.go()

          ? ?? 到這里就大功告成了!以上是一個(gè)小例子,讓大家初識(shí)Python的Pygame Zero模塊,大家在空余時(shí)間可以用Python來做做小游戲,一方面可以鞏固相關(guān)知識(shí),另一方面可以開拓視野釋放壓力。


          上期參考答案

          程序:

          from?turtle?import?*
          from?random?import?*
          from?math?import?*
          ?
          def?tree(n,?l):
          ????pd()?
          ????pencolor('brown')
          ????pensize(n?/?3)
          ????forward(l)?
          ?
          ?
          ????if?n?>?0:
          ????????b?=?random()?*?15?+?10?
          ????????c?=?random()?*?15?+?10?
          ????????d?=?l?*?(random()?*?0.25?+?0.7)?
          ????????right(b)
          ????????tree(n?-?1,?d)
          ????????left(b?+?c)
          ????????tree(n?-?1,?d)
          ????????right(c)
          ????else:
          ????????right(90)
          ????????pencolor('green')
          ????????circle(3)
          ????????left(90)
          ????????
          ????pu()
          ????backward(l)

          ht()
          speed(0)?
          tracer(0)
          pu()?
          backward(100)
          left(90)?
          pu()
          backward(300)
          tree(12,?100)
          done()

          ???

          結(jié)果:


          《數(shù)據(jù)科學(xué)與人工智能》公眾號(hào)推薦朋友們學(xué)習(xí)和使用Python語言,需要加入Python語言群的,請(qǐng)掃碼加我個(gè)人微信,備注【姓名-Python群】,我誠邀你入群,大家學(xué)習(xí)和分享。


          ? ? 關(guān)于Python語言,有任何問題或者想法,請(qǐng)留言或者加群討論。

          瀏覽 42
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  青青草日p视频 | 欧美国产精品一区 | 午夜精品在线 | 免费在线观看黄色视频网站 | 超碰在线观看2407 |