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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                Hello,今天我們來設計一款自已的游戲:我先來描述一下游戲的場景,妖怪使用詭計把悟空的金箍棒騙到了山上的茅草屋里,悟空下決心要打敗妖怪,找回如意金箍棒,他來了到了妖怪的老巢,一個蝙蝠怪把守著茅草屋的入口,悟空如果碰到蝙蝠怪,游戲就會結束,我們現在實現一段程序算法,來幫助悟空找回金箍棒吧 #### ## 騰訊視頻課程地址:https://v.qq.com/x/page/v0753si3c5s.html ![](https://ws1.sinaimg.cn/large/6bd2803cgy1fu6u7jbbf0j21em0wgkjl.jpg) 我們玩兒游戲的時候可以通過手柄的上、下、左、右鍵來控制角色的移動的方向,不管是使用手柄、鍵盤、還是鼠標,我們總是可以控制游戲中的人物移動,今天就讓我們實現 利用鍵盤控制角色移動的功能吧, **#### 本節課知識點: 1、使用鍵盤上的方向鍵控制角色在舞臺區的動作 2、使用“碰到顏色”代碼塊來控制角色移動的范圍** 打開scratch編程界面,我們想要實現的效果是,按下鍵盤的上移鍵,可以讓悟空向舞臺區的上方移動,按下左鍵可以讓悟空向左旋轉,按下右鍵可以讓悟空向右旋轉, 首先我們從動作模塊組里拖動一個移動10步的代碼塊出來,悟空在什么情況下才會移動呢?嗯,需要一個判斷語句,從控制模塊組中找到條件判斷語句,放在綠旗被點擊的下方,并且把移動10步的代碼塊放到判斷語句的執行部分,判斷語句已經有了,那么srcatch是如何識別鍵盤的向上鍵被按下了呢?這是我們這節課所要學的新功能,從代碼選擇區的偵測模塊組里邊選擇“按鍵空格鍵是否被按下”,拖動到我們的腳本區中,點擊下拉菜單將空格鍵變為向上方向鍵,然后把這個偵測條件拖動到條件判斷語句當中,現在這段代碼的意思就是:“如果鍵盤上的向上鍵被按下,就讓悟空移動10步”, ![](https://ws1.sinaimg.cn/large/6bd2803cgy1fu6u9w62q7j20e204cwep.jpg) 之前我們講過電腦會按照我們寫好的程序一步一步順序的執行,在我們現在寫好的代碼中,當綠旗被點擊時,它會順序執行下面的代碼,也就是它會判斷上鍵被按下了嗎?當然我們在點擊綠旗的一瞬間,向上鍵當然是沒有被按下的,所以程序不會執行判斷中的移動10步的代碼, ![](https://ws1.sinaimg.cn/large/6bd2803cgy1fu6ubped1gj21em0vsaoa.jpg) 接下來程序繼續執行,但是我們的程序下方已經沒有任何代碼了,所以,這個算法結構已經執行完畢,所以我們現在需要實現一段不停的 判斷的功能,我們知道無限循環可以實現這個功能的,我們從控制區拖動無限循環代碼出來, ![](https://ws1.sinaimg.cn/large/6bd2803cgy1fu6ucinwmgj21520o8duj.jpg) 現在讓我們來看一下添加了無限循環后程序是如何運行的吧,當綠旗被點擊時,程序就進入了無限循環中,首先它會判斷一次鍵盤的上鍵被按下了嗎?由于這個時間向上鍵沒有被按下,所以不會執行中間的移動10步語句,這個時間呢我們的程序會繼續向下執行,當執行到程序末尾,由于添加了無限循環代碼,程序會返回到剛剛開始的地方,也就是再次判斷鍵盤向上鍵是否被按下,這個時候鍵盤的上鍵還是沒有被按下,程序執行完這次循環后,又會回來再次判斷鍵盤上的上鍵是不是被按下,這個時候如果我們按下了向上鍵,程序就會執行移動10步的代碼了,當然無限循環中的判斷會一直不停的進行,我們只要按下向上鍵悟空就會一直向前移動,如果這個時候我們松開了向上鍵,程序再執行向上鍵是否被按下的代碼時,發現向上鍵沒有被按下,那程序就不能執行移動10步的代碼了, 回到scratch中,來運行一下試試,很好,現在悟空可以順利的向前移動啦,但是移動的速度太快了,怎么讓它移動的速度變慢一點呢?我們經過前面幾節課的學習,知道可以更改移動10步代碼里的數字,把它變小移動的速度就會變慢了,再按下向上鍵試試,嗯,非常好,現在速度已經很合適了, 悟空走到了通道的拐彎處,我們想實現按下鍵盤上的右鍵實現讓悟空向右旋轉的功能,判斷右鍵按下了嗎的代碼和判斷上鍵被按下了嗎的代碼是類似的,我們只需要按下鼠標右鍵復制,然后將判斷條件里的“上移鍵”改為“右移鍵”就可以了,判斷條件我們已經設置好了,那么按下向右鍵是想讓悟空向右旋轉的,所以,我們需要把判斷結果里的移動10步代碼去掉,在動作模塊組里拖動“向右旋轉15度”的代碼放到我們判斷結果中,我們來試一下吧,嗯,旋轉的速度太快了,把旋轉15度,改為旋轉3度試試,嗯,現在悟空旋轉的速度很合適了,類似的,你一定也能寫出左鍵控制悟空向左旋轉的代碼了吧? ![](https://ws1.sinaimg.cn/large/6bd2803cgy1fu6ufpfeb4j20e80gaq52.jpg) 我們在這里直接復制一下,ok,現在悟空能夠左右自由旋轉了,我們現在要準備實現下一步的游戲規則了,如果碰到那個飛來飛去的妖怪,我們就讓悟空切換為死亡狀態,并停止游戲, 這個效果是如何實現的呢,聰明的你應該想到了吧,這里也需要加入一個判斷, 我們需要判斷悟空是否碰到了蝙蝠怪,然后在判斷的條件部分拖入偵測模塊組里的“碰到鼠標指針”代碼塊,將鼠標指針切換為蝙蝠怪 , 再從外觀模塊組里拖入切換造型代碼塊,并選擇悟空的死亡狀態,然后從控制模塊組里拖動停止全部代碼出來,放到切換狀態代碼的下邊, 好了,這段代碼的意思就是,如果碰到蝙蝠怪,悟空就死亡了,并且需要停止游戲的所有腳本, 這段代碼也是需要不斷重復偵測悟空是否碰到了蝙蝠怪,所以也需要嵌套進重復執行的腳本里,運行一下,嗯,這段代碼和我們預設的功能一樣,非常完美,OK, 這里需要對悟空的狀態和位置造型進行一下初始化,我們前面幾節課學習過初始化的操作了,這里老師直接把初始化的代碼加入進來,放到綠旗被點擊代碼的下方, 好,同樣的,當悟空搶回金箍棒的時候,是不是也要做和碰到蝙蝠同樣的判斷呢? 那么,我們來實現一下吧,從偵測模塊組里拖動碰到鼠標指針代碼塊,將鼠標指針切換為金箍棒,當碰到金箍棒的時候,悟空就會把金箍棒收起來,用程序語言我們可以用scratch的廣播的功能實現,大家是否還記得我們前面學過的唐詩繪本的制作呢,在那節課里我們學習了廣播消息的使用,在這里我們可以這樣設計,當悟空碰到金箍棒就廣播一條“金箍棒隱藏”的消息, ![](https://ws1.sinaimg.cn/large/6bd2803cgy1fu6udt376wj20ig0ocdjc.jpg) 然后在角色區點擊金箍棒這個角色,在金箍棒的腳本界面里實現隱藏功能代碼,當接收到“金箍棒隱藏”消息的時候,我們從外觀模塊組里拖動隱藏代碼塊進來,這樣金箍棒就隱藏了,好了,到此為止,大功告成,我們來體驗一下自已的作品吧,我們終于幫忙悟空搶回了金箍棒,小朋友們趕緊保存一下,然后去和同學們分享你的作品吧。我們下節課見
                  <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>

                              哎呀哎呀视频在线观看