竹内纱里奈和大战黑人_欧美成人黄色小视频_91福利影视_欧美在线观看视频网站_h色网站免费观看_97综合

極客小將

您現(xiàn)在的位置是:首頁(yè) » scratch編程資訊

資訊內(nèi)容

Scratch第70講:飛機(jī)大戰(zhàn)(二)

極客小將2020-11-19-
想了解編程技巧,就請(qǐng)點(diǎn)擊上面藍(lán)字:跟我學(xué)Scratch編程,關(guān)注CC哥 上一講做了飛機(jī)控制的部分,今天我們一起做一下敵機(jī)的部分,CC哥在寫這篇帖子的時(shí)候,也沒(méi)想全敵機(jī)的部分都可以做哪些顯得游戲更生動(dòng)。 敵機(jī)的程序構(gòu)思

想了解編程技巧,就請(qǐng)點(diǎn)擊上面藍(lán)字:跟我學(xué)Scratch編程,關(guān)注CC哥



上一講做了飛機(jī)控制的部分,今天我們一起做一下敵機(jī)的部分,CC哥在寫這篇帖子的時(shí)候,也沒(méi)想全敵機(jī)的部分都可以做哪些顯得游戲更生動(dòng)。

敵機(jī)的程序構(gòu)思

敵機(jī)攻擊模式,在CC哥想來(lái)大概有幾點(diǎn):

1:敵機(jī)數(shù)量很多,但是大部分子彈不多且數(shù)量慢。敵機(jī)少了玩家沒(méi)快感,子彈太多太快,那就沒(méi)法玩了。

2:敵機(jī)出場(chǎng)要有兩種,一種編隊(duì)出場(chǎng),整整齊齊的出來(lái)一組飛機(jī),飛行方向不變。一種就是單個(gè)出場(chǎng),但是目標(biāo)向我們的戰(zhàn)機(jī)沖來(lái),想要撞毀我們的玩家。

3:敵機(jī)種類應(yīng)該有很多,不過(guò)CC哥目前只找了兩張敵機(jī)的元素,一個(gè)戰(zhàn)斗機(jī)一個(gè)轟炸機(jī),那么轟炸機(jī)要和戰(zhàn)斗機(jī)不一樣,轟炸機(jī)那么大,肯定要禁打一些,可以多挨上幾炮,同時(shí),轟炸機(jī)攻擊方式可以一次出一排炸彈。

大概的攻擊思路上面差不多了,咱們看看程序怎么玩:

編隊(duì)敵機(jī)出場(chǎng)

編隊(duì)的隊(duì)形,大家可以設(shè)計(jì)很多種,CC哥作為示范教學(xué)就做三種好了。三種隊(duì)形隨機(jī)出場(chǎng)。間隔的時(shí)間也是隨機(jī)的。

upload/article/images/2020-11-19/f5c5064db203850ea54007b27d51ecad.jpg

用自定義命令容易讓代碼更加容易讀,后續(xù)在升級(jí)或更新代碼的時(shí)候也會(huì)影響最小,所以建議大家在做較復(fù)雜的程序時(shí)要多用自定義命令。

敵機(jī)肯定是用克隆體來(lái)做了,攻擊隊(duì)形的自定義模塊:

upload/article/images/2020-11-19/b939a634535ca117b0d45838e071cf9a.jpg

注意敵機(jī)都是從最高處出來(lái)的,如果有隊(duì)形,那么肯定是一排一排出現(xiàn)的,那么在隊(duì)形里的每一排戰(zhàn)機(jī)克隆后,加入等待命令,等待時(shí)間的長(zhǎng)短就代表了敵機(jī)出場(chǎng)的間距。

程序的關(guān)鍵部分就是克隆體的代碼部分,CC哥喜歡把克隆體的進(jìn)程分開(kāi)做,這樣程序就易懂不混亂,自己在糾錯(cuò)的時(shí)候也容易找到出錯(cuò)的位置。

我們看看敵機(jī)的克隆體有幾個(gè)事件同時(shí)發(fā)生:

1:克隆體向下移動(dòng):

upload/article/images/2020-11-19/cb75b70d0a2988d1fa074632f999c775.jpg

CC哥沒(méi)有刪除克隆體的偵測(cè)條件沒(méi)有用“碰到舞臺(tái)邊緣”是因?yàn)椋寺◇w的出場(chǎng)位置就已經(jīng)是在舞臺(tái)邊緣上了,所以這個(gè)檢測(cè)就沒(méi)有意義。只能用敵機(jī)的位置作為判斷條件才合理。

2:敵機(jī)的動(dòng)畫效果,上一講說(shuō)了,用螺旋槳旋轉(zhuǎn)的效果來(lái)增加敵機(jī)的動(dòng)畫效果。

upload/article/images/2020-11-19/0396b53ba809529ab0cf89950f91bcb2.jpg

3:敵機(jī)發(fā)射子彈:

upload/article/images/2020-11-19/e5dfb38fe71f96c6371857eb2687c7b7.jpg

這部分需要有點(diǎn)程序經(jīng)驗(yàn),因?yàn)榘l(fā)射子彈的敵機(jī)是克隆體,同時(shí)子彈在這個(gè)游戲里肯定也是克隆體。那么就面臨了不同角色克隆體之間的互動(dòng)問(wèn)題。CC哥之前的講座就明確講了,克隆體之間的互動(dòng)不建議用大家最熟悉的消息傳遞來(lái)做,而是應(yīng)該通過(guò)公共變量來(lái)進(jìn)行動(dòng)作的同步。“發(fā)射子彈”這個(gè)變量就是這個(gè)用來(lái)做動(dòng)作同步的變量。

在發(fā)射子彈這個(gè)部分,CC哥做的是讓子彈去找敵機(jī),每一個(gè)敵機(jī)發(fā)射子彈時(shí),會(huì)把飛機(jī)的坐標(biāo)位置給到“子彈位置X”和“子彈位置Y”,然后讓發(fā)射子彈角色跑到該坐標(biāo)上再進(jìn)行發(fā)射子彈的操作。

upload/article/images/2020-11-19/f67fb3beb983aa1987bb8047e34ba3d1.jpg

如果想免費(fèi)獲得CC哥的講座中的程序代碼以及游戲素材,可以通過(guò)掃描二維碼關(guān)注《跟我學(xué)Scratch編程》,然后點(diǎn)擊獲取代碼即可。

4:敵機(jī)被擊中或碰到舞臺(tái)邊緣

upload/article/images/2020-11-19/909223cc258e97e875814bc8370f8808.jpg

當(dāng)被擊中的時(shí)候,生命減去1,如果撞到戰(zhàn)機(jī),那么直接毀滅。CC哥放了一個(gè)爆炸效果造型進(jìn)去,一旦敵機(jī)被擊毀,就播放一段爆炸效果。

upload/article/images/2020-11-19/b71123dd2df3b522236defd6038b4e05.jpg

upload/article/images/2020-11-19/93e981e78d7c120571b3833e19cc5dcf.jpg

敵機(jī)子彈

upload/article/images/2020-11-19/93e981e78d7c120571b3833e19cc5dcf.jpg

敵機(jī)子彈這個(gè)是配合敵機(jī)的角色,所以這段代碼就是去不斷檢測(cè)是否需要發(fā)射子彈,一旦檢測(cè)到需要發(fā)射子彈,就馬上跑到發(fā)射位置克隆自己。

upload/article/images/2020-11-19/c1cf8fdc81a21dc017b1a66633ec9508.jpg

子彈面向戰(zhàn)機(jī)飛去,碰到戰(zhàn)機(jī)或舞臺(tái)邊緣處消失。

自殺式敵機(jī)

upload/article/images/2020-11-19/8092cbce29fa3db7aac1b0f7cf3d616b.jpg

飛機(jī)的角色造型不好找,但是CC哥把敵機(jī)的造型顏色重新涂了一下,馬上又變成一種新敵機(jī)了。這個(gè)敵機(jī)的攻擊方式就是CC哥上一講說(shuō)的,直接撞向我方戰(zhàn)機(jī)。

出場(chǎng)位置確定

upload/article/images/2020-11-19/ecf2599e62a9d89e707107671eeb64e5.jpg

制作敵機(jī)的動(dòng)畫效果和攻擊程序。

upload/article/images/2020-11-19/9cf90fd3c95e7ce56e936e1c126c4c51.jpg

upload/article/images/2020-11-19/3b433ed54f45668d3be2817fb83f79be.jpg

被擊中的代碼。

這個(gè)自殺式敵機(jī)的代碼相對(duì)簡(jiǎn)單,就不講解了。

戰(zhàn)機(jī)部分

upload/article/images/2020-11-19/5503f9ee4d15422ec43b83acc562802f.jpg

戰(zhàn)機(jī)部分增加了這段代碼,就是當(dāng)被敵機(jī)擊中之后以及撞到敵機(jī)或者被自殺敵機(jī)撞到之后的程序。

別看簡(jiǎn)單,這里面有一個(gè)經(jīng)驗(yàn)技巧,就是這個(gè)等待0.1秒,因?yàn)閮蓚€(gè)克隆體碰撞之后,應(yīng)該都消失掉,但是程序執(zhí)行不是完美同步的,所以當(dāng)碰撞發(fā)生之時(shí),兩邊的偵測(cè)命令并不是同步執(zhí)行的,快的一邊已經(jīng)把克隆體刪除掉了,另一邊也就偵測(cè)不到碰撞了,所以這個(gè)等0.1秒,就是讓快的一方晚一點(diǎn)刪除克隆體,確保對(duì)方也有時(shí)間偵測(cè)的這個(gè)碰撞事件。大家聽(tīng)明白沒(méi)有?如果沒(méi)有可以自己試試不加這個(gè)命令的效果,看看bug出現(xiàn)在哪里。

聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過(guò)郵件及時(shí)和我們聯(lián)系刪除

預(yù)約試聽(tīng)課

已有385人預(yù)約都是免費(fèi)的,你也試試吧...

主站蜘蛛池模板: 国产在线激情 | 精品精品国产毛片在线看 | 国产探花在线精品一区二区 | 亚洲福利电影网 | 欧美不卡一区 | 免费日韩视频 | 91欧美精品成人综合在线观看 | 国产一区二区三区四区五区入口 | 肉色欧美久久久久久久免费看 | www.91av.con| 日韩三级电影在线观看 | 欧美精品一区二区三区在线 | 免费一看一级毛片 | 免费av网站在线 | 狠狠操天天干 | 亚洲欧美日韩电影 | 一级黄色大片在线观看 | 中文字幕 亚洲视频 | 嫩草在线看| 亚洲免费高清 | 国产乱淫视频 | 国产精品久久久久久久久免费 | 亚洲一区二区三区久久 | 国产大片在线免费观看 | a在线天堂 | 天堂在线资源8 | 五月婷婷综合网 | 日韩国产欧美一区 | 日韩在线观看网站 | 国产精品久久久av | 欧美日韩亚洲综合 | 久久精品亚洲国产 | 色啪综合 | 国产原创精品视频 | 美女视频一区二区三区 | 国产成人久久精品 | 国产成人在线不卡 | 午夜在线影院 | 久久黄网 | 亚洲精品二 | 久久麻豆视频 |