## 復習上節課學習的內容
小朋友們好!我是阿達老師。我們上節課完成了甲蟲移動功能的實現,這節課我們將引入杰瑞的另一個敵人 —— 幽靈
## 本節課知識點
使用隨機數代碼塊實現幽靈在舞臺區任意位置出現效果,
使用`面向角色`代碼塊實現幽靈向杰瑞逼近效果
停止全部代碼塊使用
## 實現分析
要實現幽靈能夠在任意位置出現,因為這個位置不固定,所以,需要使用到隨機數功能;
要實現幽靈朝著杰瑞移動,所以要給幽靈設置一個方向,直接讓幽靈面向杰瑞的方向就可以了
## 視頻實戰
我們在這個項目中為杰瑞設置了兩個敵人,分別是:甲蟲和幽靈,一個邪惡的幽靈在神出鬼沒,如果杰瑞碰到它游戲就會結束
我們先來實現幽靈的隨機出現算法,
我們規納一下,幽靈的算法需要完成兩個功能
1、隨機出現
2、朝著杰瑞的方向逼近
讓我們來實現它吧,先打開網易卡搭的編程環境,在`我的作品`中選擇《尋找蛋糕》這個項目,進入創作頁,我們先從角色庫中導入一個幽靈角色,切換到這個幽靈的編程界面,從事件模塊組拖動`當綠旗被點擊`代碼塊,從外觀模塊組拖動`隱藏`代碼塊,當綠旗被點擊時,我們先讓它隱藏起來,
在游戲啟動之初,我先讓幽靈等待一會再出現,這里我們用一個隨機數來設置這個等待的時間,從控制模塊組里拖入`等待1秒`,從運算符模塊組里拖入`在1到10間隨機選一個數`代碼塊,將這個隨機的時間間隔改為5到10之間選一個隨機數,將`在5到10間隨機選一個數`代碼塊拖入剛剛等待的時間代碼塊內,如圖所示:

這段代碼的意思是:等待一定的時間,這個時間是隨機的,是5秒到10秒之間的一個隨機數
隨機出現的時間我們已經設置好了,那么接下來就是設置隨機出現的位置了,同樣,我們也要用到隨機數代碼塊,因為x坐標和y坐標都是隨機的,所以我們需要用到兩個隨機數代碼塊,我們先拖兩個隨機數代碼塊出來,然后從動作模塊組里拖入`移到x...y...`代碼塊到腳本區,將兩個隨機數代碼塊分別替換x坐標和y坐標,將x坐標的隨機范圍設置為-220~220之間,將y坐標的隨機范圍設置為-160~160之間,代碼如圖所示:

時間和位置都已經設置好了,我們該讓幽靈出場了,因為當綠旗被點擊時,我們讓幽靈隱藏起來了,所以,現在需要讓它顯示出來,從外觀模塊組里拖入 `顯示`代碼塊就可以了,這里再隨機待3-6秒,給幽靈設置一個追逐杰瑞的時間,把以上代碼連接起來,并讓它們循環執行,就可以實現幽靈循環的隨機出現效果了,

下面我們來實現第二步,在幽靈顯示出來的時間內,讓它不斷的逼近杰瑞,從事件模塊組拖動`當綠旗被點擊`代碼塊,從外觀模塊組拖動`隱藏`代碼塊,當綠旗被點擊時,我們先讓它隱藏起來,從動作模塊組里拖入`將旋轉模式設置為左右旋轉`,然后繼續拖入`面向鼠標指針`代碼塊,將“鼠標指針”切換為“杰瑞”,這段代碼的意思是,讓幽靈面向杰瑞的方向,方向設置好了,我們讓幽靈移動起來就可以實現幽靈逼近杰瑞的效果了,從動作模塊組里拖入`移動10步`代碼塊,將10步改為1步,運行一下試試吧,

非常完美,幽靈出現后,可以向著杰現逼近了,
下面我們要設置一下幽靈碰到杰瑞之后的結果,從控制模塊組里拖入`如果...那么...`, 從偵測模塊組拖入`碰到鼠標指針`,將“鼠標指針”切換為“杰瑞”,把這個`碰到杰瑞`代碼塊作為條件放入我們剛剛的條件判斷當中,再從控制模塊組里拖入`停止全部`放入到條件判斷的結果當中,如圖:

這段代碼的意思很好理解:如果幽靈碰到杰瑞,那么就停止游戲,我們把這段代碼放入逼近杰瑞的代碼循環當中,完整的代碼如下:

幽靈的代碼就編寫完成了,我們昨天寫的甲蟲的代碼當中并沒有加入`停止全部`的邏輯,小朋友們,現在你們是不是可以自已把這部分邏輯加進去了呢?如果遇到問題記得給老師留言哦,今天到這里吧,拜拜
## 小灶時間
- 簡介
- 第二章-星星獵手
- 2.1 玩玩游戲吧
- 2.2 角色到位!
- 2.3 貓咪動起來
- 2.4 海馬動起來
- 2.5 海馬和貓咪碰上啦
- 2.6 抓海星啦!
- 2.7 抓了幾個海星?
- 2.8 更多的海馬過來啦
- 第三章 尋找蛋糕(迷宮類游戲)
- 第一課 使用畫筆繪制迷宮圍墻
- 第二課(1) 鍵盤操作杰瑞移動
- 第二課(2) 解決杰瑞橫穿圍墻問題
- 第三課 甲蟲狂潮
- 第五課 幽靈出沒
- 第六課 收獲金幣
- 第四章 黑洞大作戰
- 4.1 玩玩游戲吧&分析制作思路
- 4.2 level1級別的物體行動
- 4.3 黑洞轉起來
- 4.4 吞噬物體&記錄分數
- 4.5 黑洞變大
- 4.6 leve2 級別的物體
- 4.7 level2吞噬、level3吞噬
- 4.8 游戲做好啦!
- 第五章 靈藥戰爭
- 5.1群魔亂舞
- 5.2靈藥驚現
- 5.3閃轉騰挪
- 5.4大功告成
- 第六章 跳躍的猴子
- 6.1 part1