国产乱子伦高清露脸对白-国产精品欧美久久久久天天影视-国产91视频一区-亚洲欧美日产综合在线网-黄视频网站在线看-国产欧美亚洲精品第1页-亚洲www在线-大学生女人三级在线播放-日本在线视频www鲁啊鲁-国产成人精品一区二区仙踪林-69精品欧美一区二区三区-成人欧美亚洲-日本污污网站-中国妞xxxhd露脸偷拍视频-国产精品aⅴ在线观看-精品中文字幕在线

極客小將

您現在的位置是:首頁 » scratch編程資訊

資訊內容

Scratch第72講:精確制導

極客小將2020-11-19-
想了解編程技巧,就請點擊上面藍字:跟我學Scratch編程,關注CC哥 本來想在飛機大戰的游戲里加入導彈,后來想了一下,CC哥的目的主要還是做教學,所以為了讓大家更好的學習和掌握知識,CC哥就把這個精確制導做成了獨立的游戲,讓大家更容易學習。

想了解編程技巧,就請點擊上面藍字:跟我學Scratch編程,關注CC哥



本來想在飛機大戰的游戲里加入導彈,后來想了一下,CC哥的目的主要還是做教學,所以為了讓大家更好的學習和掌握知識,CC哥就把這個精確制導做成了獨立的游戲,讓大家更容易學習。

導彈的特點

導彈嘛,CC哥總結的特點就是:

1:自動選擇目標

2:自動追蹤目標,而且運動軌跡是弧形的。

https://cdn.china-scratch.com/timg/191125/1359413937-0.gif

在你的游戲里加入導彈是不是給游戲增色很多https://cdn.china-scratch.com/Public/Home/images/grey.gif,有思考怎么實現的嗎?讓我們一起來看看。

游戲關鍵點

導彈也好,敵機也好,如果都是本地的角色之間發生互動關系,都不會復雜,但是這個游戲的關鍵是兩個角色克隆體之間的互動,因為發射出去的導彈是導彈角色的克隆體,敵機是敵機角色的克隆體,那么克隆體之間怎么進行這種實時的互動呢?

程序介紹

戰機沒啥好介紹的,控制部分跟飛機大戰都一樣,用上下左右鍵進行移動。關鍵是讓大家看看CC哥找的造型是不是很酷https://cdn.china-scratch.com/Public/Home/images/grey.gif

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

敵機的造型也挺酷的https://cdn.china-scratch.com/Public/Home/images/grey.gif

upload/article/images/2020-11-19/89135d0c2faef29f8f676b91c98be657.jpg

導彈如何選擇目標

如果想讓導彈選擇目標,那么就必須要有一個可選擇的記錄庫,和選擇的標準,所以,當導彈發射的一瞬間,我們需要知道天上有多少敵機,以及他們之間怎么區別的,只有具備這些條件,你才有選擇的基礎。所以為了選擇目標,CC哥創建了一個列表,這個列表里就包含了所有在天空中出現的敵機。只要在這個列表里進行選擇就好了。

那這個列表里存的什么數據呢?存的就是一個一個敵機的編號。所以我們在克隆敵機的時候,需要為每一個敵機進行編號,否則就無法對敵機進行一一的識別,更談不上選擇了。

upload/article/images/2020-11-19/79f171f09492e4844c4b765ba3937d9a.jpg

這是敵機開始的一段程序,CC哥讓敵機在舞臺的高處隨機的出現,但是在出現的同時,用“敵機編號”這個私有變量對敵機進行編號。同時把這個敵機編號加入到{敵機隊列}這個列表里。

但是如果敵機消失在舞臺邊緣,或者被擊毀和撞毀,那么它就不再是目標了,就需要從目標的庫里刪除掉,也就是從{敵機隊列}里刪除掉。

upload/article/images/2020-11-19/4d2e6d6545304fb7495de2b987741826.jpg

這段代碼不難理解,就是敵機在飛行過程中,如果被導彈擊中,就播放爆炸效果。然后不論是那種情況消失,都需要從敵機隊列里刪除這個編號。刪除完之后,如果隊列里還有敵機,那么就選擇隊列的第一項,也是隊列里出現最早的飛機。如果刪除完之后隊列里沒有項目了,就說明飛機已經被打光了,所以要把目標敵機這個變量設為0。

CC哥用“目標敵機”這個變量來代表此時此刻被導彈鎖定的敵機!

如果目標敵機為0了,也就是沒有敵機了,那么下面一刻新克隆出來的敵機就自動成為當前的目標敵機。

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

當然,既然知道了目標敵機是誰,那肯定無時不刻都要盯緊它,要實時鎖定它的物理方位才能進行攻擊!

upload/article/images/2020-11-19/80170c451ebafaeb4c297dbbccb1e77f.jpg

導彈飛行過程中跟蹤敵機

敵機的坐標鎖定了,但是導彈怎么跟蹤它呢?這個x和y坐標可是隨時在發生變化,而不是固定在那里讓我打。那你的運動軌跡如何跟蹤一個實時變動的目標呢?

一種方法:根據雙方的X和Y坐標來算角度,這就是幾何了,大家可以畫畫圖試一下怎么計算,CC哥認為這也是一種不錯的方法呢。

還有一種方法就是用現有的命令,

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

但是問題是這只能面向一個角色,不能面向一個克隆體呀,怎么辦?老辦法,引入影子目標角色,也就是用另一個隱形的角色,實時的移動到目標的X,Y坐標上,充當靶子。只要導彈面向這個角色,就相當于面向了目標,只要實時去用面向這個命令來校準,那導彈就始終是往目標的地方追。

upload/article/images/2020-11-19/1d7438ca8b6e71d70156e2193692bea5.jpg

這就是這個影子角色,為什么不隨便用個圓圈或小點代替,是因為CC哥要做碰撞檢測的,所以只有影子目標的造型和真實目標的造型一模一樣,才能完美的檢測是否真正擊中目標。另外CC哥涂這一下子是為了調試程序用的,否則都長一樣,CC哥也區分不出哪個是真身哪個是影子呀。https://cdn.china-scratch.com/Public/Home/images/grey.gifhttps://cdn.china-scratch.com/Public/Home/images/grey.gifhttps://cdn.china-scratch.com/Public/Home/images/grey.gif

upload/article/images/2020-11-19/6e15cef83a6d51086338db23bb5ebbd2.jpg

為什么不用隱藏,而用虛像99,這兩個的基本效果都是一樣的,都是讓你看不見,但是區別是隱藏了就檢測不到碰撞了,而虛到99,那雖然你看不見,但是計算機看得見,也就是碰撞檢測不受影響。對于這段程序就是目標角色會始終盯住目標戰機的位置,任勞任怨的充當導彈的靶子。https://cdn.china-scratch.com/Public/Home/images/grey.gif

飛機上不同的位置開始著火,就能充分表現這一點,后來加上去發現效果還不錯。https://cdn.china-scratch.com/Public/Home/images/grey.gif

upload/article/images/2020-11-19/57a273feff920c5147d0256bddc01d8f.jpg

如果想免費獲得CC哥的講座中的程序代碼以及游戲素材,可以通過掃描二維碼關注《跟我學Scratch編程》,然后點擊獲取代碼即可。

游戲合理性

CC哥做程序和游戲都有一個習慣,要思考你設計的東西是不是合理,在目標選擇這一塊,CC哥就想了,按照上面的邏輯,肯定是選擇最早出現的敵機,因為離得的會最近,最有威脅。但是如果用導彈去作為攻擊武器,那么就不那么簡單了,因為導彈有導彈的特性,首先導彈都是往前發射,發射出去之后再變化軌跡進行敵機追蹤,第二,導彈是飛的很快的,并不會臨時轉彎,轉彎時需要較大的轉彎半徑。所以不是所有的敵機都適合發射導彈去攻擊。比如已經靠近你左右側的敵機就很難擊中,因為轉彎半徑就已經大過與敵機的距離了。或者已經飛到你后面的敵機就更難擊中一些。當然,放著前面的敵機不去打,非要辛苦的繞到后面去打,肯定不合理。

所以CC哥為了合理性,就在目標選擇上增加了篩選條件,也就是只有在戰機前面并和戰機保持一定距離以上的敵機才會成為攻擊目標。

upload/article/images/2020-11-19/76c0082613b2eedc6a9bc33013f6714d.jpg

處于這份考量,CC哥在目標跟蹤上加了這段代碼,如果在發射時檢測到敵機離戰機太近和位于戰機的后方,那么目標會忽略次敵機,自動調整到下一個可以攻擊的敵機。

導彈的運動軌跡

導彈的運動軌跡也是個游戲設計點:

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

有點象火箭的導彈https://cdn.china-scratch.com/Public/Home/images/grey.gif

https://cdn.china-scratch.com/timg/191125/135944H03-22.jpg

這個就是如果鎖定了目標就發射!發射的初始方向都是正前方!

https://cdn.china-scratch.com/timg/191125/1359443M6-23.jpg

https://cdn.china-scratch.com/timg/191125/1359455G2-24.jpg

然后根據目標的位置進行方向修正,如果導彈的方向和飛機飛行的方向差別比較大時,那么每飛一步就進行5度的校準,如果方向差別已經在5度以內了,那么校準就變成每步1度。

這段代碼比較長的原因是校準的方向跟導彈和敵機所處的位置有所區別,舉個例子,如果導彈和敵機都在垂直方向的一邊,那么軌跡比較簡單,始終朝著減小的方向調整就能將兩個角度重合。但是如果一旦出現其中一個角色飛到了下部中心垂直方向的另一邊,那么兩者之間的角度差就會突然大了180度。這時候你如果還是朝著角度差減小的方向去調整,那么可能會造成導彈的突然轉向,從另一個方向去追敵機,那肯定是不合理的,這跟Scratch的坐標和方向的定義有很大關系。所以CC哥在這里做的條件判斷,就是不希望導彈會隨著角色突然跨越下部中心垂直線造成方向角度的突然變化而導致導彈突然轉向。

總結

今天學到的知識:

1:用列表來存儲克隆體的編號,從而實現對克隆體的個體管理。

2:用影子角色來輔助對具體某個克隆體的操作。

3:進一步了解位置,方向的相對性。

聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除

預約試聽課

已有385人預約都是免費的,你也試試吧...

国产乱子伦高清露脸对白-国产精品欧美久久久久天天影视-国产91视频一区-亚洲欧美日产综合在线网-黄视频网站在线看-国产欧美亚洲精品第1页-亚洲www在线-大学生女人三级在线播放-日本在线视频www鲁啊鲁-国产成人精品一区二区仙踪林-69精品欧美一区二区三区-成人欧美亚洲-日本污污网站-中国妞xxxhd露脸偷拍视频-国产精品aⅴ在线观看-精品中文字幕在线

        青娱乐国产精品视频| 97成人在线观看视频| 波多野结衣天堂| 欧美一区二区中文字幕| 777av视频| 日本韩国欧美在线观看| 成年女人18级毛片毛片免费| 国产一级片91| 一级日本黄色片| 51xx午夜影福利| 欧美乱做爰xxxⅹ久久久| 色哟哟免费网站| a级黄色片免费| 毛片在线视频播放| 日韩欧美精品在线观看视频| 国内外免费激情视频| 手机看片一级片| 精品少妇人妻av一区二区| 亚洲国产一二三精品无码| 欧美一级视频在线播放| 久久久久久久久久久福利| 在线免费av播放| 日韩精品福利片午夜免费观看| 国风产精品一区二区| 免费欧美一级视频| 亚洲欧美日韩精品一区| 国产一二三四五| 久久免费视频3| 人人干人人干人人| 男人添女人下部视频免费| 国产最新免费视频| 中文字幕线观看| 九九爱精品视频| 特级黄色片视频| 18禁免费观看网站| 久久久久久久久久久久久久久国产| 黄色一级片网址| 老熟妇仑乱视频一区二区 | 天天综合五月天| av免费观看大全| 伊人五月天婷婷| 日韩手机在线观看视频| 国产 欧美 日本| 国产三级生活片| 激情综合网俺也去| 国产免费一区二区视频| www.亚洲自拍| 丝袜制服一区二区三区| 欧日韩免费视频| 欧美少妇一级片| 欧美激情第四页| 亚洲欧美国产中文| 日韩av播放器| 亚洲熟妇av一区二区三区| 日韩美女爱爱视频| 午夜啪啪福利视频| 日韩不卡的av| 91亚洲免费视频| 日本在线一二三区| 国产aaaaa毛片| 日本中文字幕片| 国产乱子伦精品无码专区| 无套内谢丰满少妇中文字幕| 手机看片一级片| 国产成人美女视频| 嫩草视频免费在线观看| 国产精品拍拍拍| 亚洲激情在线观看视频| 日本老熟妇毛茸茸| 尤蜜粉嫩av国产一区二区三区| 免费裸体美女网站| 亚洲国产成人va在线观看麻豆| 天堂中文视频在线| 亚洲一级免费观看| 毛毛毛毛毛毛毛片123| 秋霞在线一区二区| 青青在线免费视频| 你懂的av在线| 黑森林福利视频导航| 五月天婷婷激情视频| 欧美大尺度做爰床戏| 天天综合天天添夜夜添狠狠添| 成 人 黄 色 小说网站 s色| 在线观看中文av| 青青青青在线视频| 男人和女人啪啪网站| 天天操天天爽天天射| 99热这里只有精品7| 色综合久久久久无码专区| 日韩欧美在线免费观看视频| 亚洲制服中文字幕| 99在线免费视频观看| xx欧美撒尿嘘撒尿xx| 亚洲成人动漫在线| 农村妇女精品一二区| 亚洲午夜激情影院| 男人添女人下部高潮视频在观看| 人妻有码中文字幕| 好色先生视频污| 亚洲最大综合网| 人妻激情另类乱人伦人妻| 人妻无码视频一区二区三区 | 免费看欧美黑人毛片| 欧美精品无码一区二区三区| 老司机午夜免费福利视频| 黄色免费视频大全| 成年人三级视频| 色免费在线视频| 精品少妇一区二区三区在线| 亚洲第一天堂久久| 国产精品免费观看久久| 五月天男人天堂| 超碰在线人人爱| 阿v天堂2017| 喜爱夜蒲2在线| 在线播放黄色av| 亚洲天堂网一区| 国产偷人视频免费| 免费在线a视频| 97视频在线免费| 国产欧美久久久久| 熟女视频一区二区三区| 91精品无人成人www| 青青青在线播放| 国产成人综合一区| 国产乱子夫妻xx黑人xyx真爽| 国产乱子伦精品视频| 可以在线看黄的网站| 一级日本黄色片| 神马午夜伦理影院| 欧美交换配乱吟粗大25p| 日韩不卡的av| 99热一区二区三区| 在线观看成人免费| 婷婷视频在线播放| 超碰在线免费观看97| 麻豆中文字幕在线观看| 日韩精品一区二区三区电影| 强伦女教师2:伦理在线观看| 男人的天堂成人| 欧美 日韩 亚洲 一区| 波多野结衣乳巨码无在线| 黄色大片在线免费看| 97xxxxx| 色乱码一区二区三区在线| 欧美成人乱码一二三四区免费| 热久久久久久久久| 黄色特一级视频| 欧洲黄色一级视频| 超碰在线公开97| 日本a级片在线播放| 欧美精品自拍视频| 国产超碰在线播放| 一区二区三区日韩视频| 国产一二三区在线播放| 波多野结衣作品集| 黄瓜视频免费观看在线观看www| 天堂av在线中文| 日本老熟妇毛茸茸| 久久综合亚洲精品| 国产一级片黄色| 在线观看18视频网站| 91好吊色国产欧美日韩在线| 一级特黄性色生活片| 男人的天堂视频在线| 国产a级一级片| 中文字幕在线视频一区二区三区 | www一区二区www免费| 91欧美一区二区三区| 国自产拍偷拍精品啪啪一区二区| 亚洲图色中文字幕| 妞干网在线视频观看| 色偷偷中文字幕| www.超碰com| 日韩亚洲欧美视频| 亚洲国产欧美91| 黑森林精品导航| 国产免费成人在线| 激情五月婷婷六月| 国产av不卡一区二区| 国产视频手机在线播放| 少妇性饥渴无码a区免费| 国产精品12p| 亚洲女人在线观看| 中文av一区二区三区| 北条麻妃69av| jizzjizz国产精品喷水| 欧洲精品在线播放| 国产成人免费高清视频| 久久久久久久高清| 亚洲综合日韩欧美| 天天天干夜夜夜操| 久久午夜夜伦鲁鲁一区二区| 久久网站免费视频| 国精产品一区一区三区视频| 免费在线观看视频a| 久久久亚洲国产精品| 男人添女人下部高潮视频在观看| youjizz.com在线观看| 国产欧美精品aaaaaa片|