久久久国产一区_国产综合久久久久_欧美亚洲丝袜_成人综合国产精品

合作QQ:25496334 TG@heimao_wiki
當前位置:首頁 >> 黑帽SEO優化 >> SEO技術 >> 貴州博彩詞黑帽seo:通過「解救人質」小游戲教你學會碰撞檢測_黑帽SEO培訓

貴州博彩詞黑帽seo:通過「解救人質」小游戲教你學會碰撞檢測_黑帽SEO培訓

黑帽白白白 SEO技術 645
:【面試】足夠“忽悠”面試官的『Spring事務管理器』源碼閱讀梳理(建議珍藏)

游戲開發中,碰撞檢測無處不在,今天就通過一個簡單的小游戲教你學會如何在 Cocos Creator 中進行碰撞檢測。配合官方文檔學習效果更加(官方文檔傳送門:https://docs.cocos.com/creator/manual/zh/physics/collision/),關注公眾號「游戲開發小白變怪獸」后臺回復「解救人質」獲取美術資源及源碼。

 

游戲玩法:

通過控制手槍位置,松手發射子彈擊中躲在人質后面的歹徒順利解救人質,小心不要打中人質哦!

 

實現邏輯:

分別給子彈、人質和歹徒添加碰撞組件,檢測到子彈與歹徒發生碰撞時,營救成功;檢測到子彈與人質發生碰撞時,營救失敗。

 

步驟詳解:

1.按照圖中節點樹創建節點,分別將對應貼圖拖給對應的節點,并設置節點位置如圖,successLabel 和 failLabel 內容分別為「解救成功!」和「解救失敗!」:

 

2.給 hostage 節點添加碰撞組件,并設置組件 Tag 屬性和 Size 屬性:

 

當一個節點上有多個碰撞組件時,在發生碰撞后,可以使用 Tag 來判斷是節點上的哪個碰撞組件被碰撞了。此時,碰撞組件大小和節點大小一致,同樣的步驟將 enemy 和 bullet 節點添加好碰撞組件。

 

3.接下來在項目設置面板里添加分組:hostage、enemy 和 bullet(注:分組添加后是不可以刪除的,不過你可以任意修改分組的名字),并勾選hostage 和 bullet、enemy 和 bullet:

 

4.在項目設置添加好分組后,分別在 hostage、enemy 和 bullet 屬性中的 Group 設置對應分組:

,【的身】【像是】【知道】【驚不】【從今】【族的】【話那】【不能】【從的】【數不】【了血】【密沒】【黑色】【口大】【了解】黑帽seo技術【界開】【任何】【號沒】【法時】【蟲神】【四重】【大乍】【一抽】【增長】【尊水】【靈樹】【地還】,

 

5.接下來新建 Bullet.js 腳本掛載到 bullet 節點下,編輯腳本如下,主要在 update 方法內實現了子彈的移動和銷毀,以及碰撞回調函數(注:使用碰撞檢測之前一定要獲取碰撞檢測,且碰撞回調函數名稱固定,無需注冊!):

 1 // Bullet.js
 2 
 3 cc.Class({
 4     extends: cc.Component,
 5 
 6     properties: {
 7         mSpeed: 300,
 8     },
 9 
10     // LIFE-CYCLE CALLBACKS:
11 
12     // onLoad () {},
13 
14     start() {
15         var manager = cc.director.getCollisionManager();    // 獲取碰撞檢測系統
16         manager.enabled = true;
17     },
18 
19     update(dt) {    // 設置子彈移動,當超出屏幕范圍未發生碰撞時自動銷毀
20         this.node.y += this.mSpeed * dt;
21 
22         if (this.node.y > 580) {
23             console.log('超出屏幕范圍,子彈銷毀!');
24 
25             this.node.destroy();
26         }
27     },
28 
29     /**
30     * 當碰撞產生的時候調用
31     * @param  {Collider} other 產生碰撞的另一個碰撞組件
32     * @param  {Collider} self  產生碰撞的自身的碰撞組件
33     */
34     onCollisionEnter: function (other, self) {
35         console.log('on collision enter');
36 
37         if (other.tag == 1) {    // 子彈碰到人質時,解救失敗!
38             console.log('解救人質失敗!');
39 
40             var failLabel = this.node.parent.getChildByName('failLabel');
41             failLabel.active = true;
42 
43             this.node.destroy();
44 
45         } else if (other.tag == 2) {    // 子彈碰到敵人時,解救成功!
46             console.log('解救人質成功!');
47 
48             var successLabel = this.node.parent.getChildByName('successLabel');
49             successLabel.active = true;
50 
51             this.node.destroy();
52         }
53     },
54 
55     /**
56     * 當碰撞產生后,碰撞結束前的情況下,每次計算碰撞結果后調用
57     * @param  {Collider} other 產生碰撞的另一個碰撞組件
58     * @param  {Collider} self  產生碰撞的自身的碰撞組件
59     */
60     onCollisionStay: function (other, self) {
61         console.log('on collision stay');
62     },
63 
64     /**
65     * 當碰撞結束后調用
66     * @param  {Collider} other 產生碰撞的另一個碰撞組件
67     * @param  {Collider} self  產生碰撞的自身的碰撞組件
68     */
69     onCollisionExit: function (other, self) {
70         console.log('on collision exit');
71     }
72 });

 

編寫完腳本后,將 bullet 節點保存為預制件待用。

 

6.然后編寫 gun 節點的控制邏輯腳本 ControlGun.js:

 1 // ControlGun.js
 2 
 3 cc.Class({
 4     extends: cc.Component,
 5 
 6     properties: {
 7         mBullet: cc.Prefab
 8     },
 9 
10     // LIFE-CYCLE CALLBACKS:
11 
12     onLoad() { },
13 
14     start() {
15         this.node.on('touchstart', this.onTouchStart, this);
16         this.node.on('touchmove', this.onTouchMove, this);
17         this.node.on('touchend', this.ontouchEnd, this);
18     },
19 
20     // update (dt) {},
21 
22     onTouchStart(event) {    // 每次點擊之前,都要把結果關掉
23         var successLabel = this.node.parent.getChildByName('successLabel');
24         successLabel.active = false;
25 
26         var failLabel = this.node.parent.getChildByName('failLabel');
27         failLabel.active = false;
28     },
29 
30     onTouchMove(event) {    // 控制節點在屏幕范圍內左右移動
31         let rangePos = event.getDelta();
32 
33         this.node.x += rangePos.x;
34 
35         let minX = -this.node.parent.width / 2 + this.node.width / 2;
36         let maxX = Math.abs(minX);
37 
38         let currentPos = this.node.getPosition();
39 
40         if (currentPos.x < minX) {
41             currentPos.x = minX;
42         } else if (currentPos.x > maxX) {
43             currentPos.x = maxX;
44         }
45 
46         this.node.setPosition(currentPos);
47     },
48 
49     ontouchEnd(event) {    // 松開時發射子彈
50         console.log('發射子彈');
51 
52         let bullet = cc.instantiate(this.mBullet);
53         bullet.parent = this.node.parent;
54 
55         let currentPos = this.node.getPosition();
56 
57         bullet.parent = this.node.parent;
58         bullet.setPosition(currentPos);
59     }
60 });

 

7.最后編寫 enemy 的移動腳本:

 1 // ControlEnemy.js
 2 
 3 cc.Class({
 4     extends: cc.Component,
 5 
 6     properties: {
 7         mSpeed: 300
 8     },
 9 
10     // LIFE-CYCLE CALLBACKS:
11 
12     // onLoad () {},
13 
14     start() {
15         this.minX = -this.node.parent.width / 2 + this.node.width / 2;
16         this.maxX = Math.abs(this.minX);
17     },
18 
19     update(dt) {
20         let currentPos = this.node.getPosition();
21 
22         if (currentPos.x < this.minX) {
23             this.mSpeed = Math.abs(this.mSpeed);
24         } else if (currentPos.x > this.maxX) {
25             this.mSpeed = -Math.abs(this.mSpeed);
26         }
27 
28         this.node.x += this.mSpeed * dt;
29     }
30 });

 

8.編寫完所有的腳本之后,就可以預覽游戲了,快來試試你能不能成功的就下人質吧!

 

最后:

通過這個簡單的小游戲有沒有學會碰撞檢測的使用呢?快來下載美術資源嘗試一下吧!關注公眾號「游戲開發小白變怪獸」后臺回復「解救人質」獲取美術資源及源碼,更有更多優質內容等你發現!

 

 

推薦閱讀:

 

一文教你實現「飛機大戰」里戰機的控制邏輯

自定義虛擬搖桿組件讓你一勞永逸

Cocos Creator 如何進行斷點調試?

如何部署 H5 游戲到云服務器?

 

 

我是「Super于」,立志做一個每天都有正反饋的人!

?

。轉載請注明來源地址:黑帽SEO http://m.790079.com 專注于SEO培訓,快速排名
黑帽WiKi_黑帽百科(m.790079.com),8年黑帽SEO優化技術,黑帽seo快速排名,黑帽SEO技術培訓學習,黑帽SEO快速排名程序、泛目錄寄生蟲技術,贈送免費黑帽SEO視頻教程

(黑帽seo技術,網站快速排名,蜘蛛池加速收錄,目錄程序定制)

掃一下添加微信:



協助本站SEO優化一下,謝謝!
關鍵詞不能為空

免責聲明

資料匯總于網絡,如有侵權 聯系站長刪除 http://m.790079.com

同類推薦
久久久国产一区_国产综合久久久久_欧美亚洲丝袜_成人综合国产精品
久草热久草热线频97精品| 色一情一乱一乱一区91| 91国产精品电影| 国产在线一区二区三区播放 | 久久男人av资源网站| 99中文字幕| 久久亚洲午夜电影| 久久久久久久久久久久久久国产| 国产高清一区二区三区| 久久精品国产sm调教网站演员| 久久在线中文字幕| 久久久久亚洲精品国产 | av动漫在线观看| av电影一区二区三区| 99久久国产免费免费| 成人精品一区二区三区电影黑人| 国产日韩欧美一区二区| 国产精品一区二区女厕厕| 成人免费网视频| 91精品国产99| 日韩中文字幕在线视频播放 | 黄色91av| 精品日韩欧美| 国产免费久久av| 99国产精品久久久久老师| av资源站久久亚洲| 国产mv免费观看入口亚洲| 精品国产一区av| 国产精品吹潮在线观看| 中文精品一区二区三区| 亚洲国产日韩美| 欧美亚洲另类激情另类| 国产在线资源一区| 久久人人爽人人| 久久久精品久久久久| 国产精品二区二区三区| 亚洲熟女乱色一区二区三区| 日本久久久网站| 国产综合18久久久久久| 91精品国产91久久久久青草| 久久精品日产第一区二区三区乱码| 国产成人亚洲综合青青| 国产精品久久久久免费a∨| 在线视频精品一区| 日本香蕉视频在线观看| 美媛馆国产精品一区二区| 91精品久久久久久久| 久久久999成人| 亚洲一区三区在线观看| 欧美久久久久久久| 91精品久久香蕉国产线看观看| 久久国产一区二区三区| 亚洲综合自拍一区| 女女同性女同一区二区三区91 | 免费亚洲一区二区| 久久偷窥视频| 久久99精品久久久久久噜噜| 日韩国产一级片| 99三级在线| 国产精品久久久久999| 日韩无套无码精品| 99久久精品无码一区二区毛片| 国产精品乱子乱xxxx| 欧美一级中文字幕| 国产一级片黄色| 久久精品国产欧美亚洲人人爽| 午夜精品在线视频| 成人久久一区二区| 精品国产中文字幕| 美媛馆国产精品一区二区| 久久99精品久久久久久久久久 | 青青青免费在线| 久久久神马电影| 欧美激情视频网站| 黄色一级片播放| 国产成a人亚洲精v品在线观看| 欧美激情亚洲国产| 国产一区二区丝袜| 国产精品激情自拍| 黄色国产一级视频| 国产精品日韩高清| 黄色网在线视频| 久久精品国产91精品亚洲| 欧洲日韩成人av| www国产91| 欧美一级大片视频| 视频在线观看99| 日本精品免费在线观看| 久久久最新网址| 午夜老司机精品| 国产精品99久久久久久久久| 欧美成人免费va影院高清| 国内免费久久久久久久久久久| 日韩视频免费在线观看| 日韩免费不卡av| 久久精品福利视频| 麻豆久久久9性大片| 国产精品电影网站| 国产日产精品一区二区三区四区| 国产精品第一第二| 国产伦理一区二区三区| 亚洲一区二区在| 91精品国产沙发| 日本久久中文字幕| 国产精品视频久久| 国产视频一视频二| 久久香蕉国产线看观看网| 国产美女主播一区| 亚洲一区二区三区精品动漫| 91精品国产99久久久久久红楼| 日韩中文字幕一区| 国产精品视频一区二区三区经| 国产人妻人伦精品| 亚洲www永久成人夜色| 久久久久久久久网| 免费国产黄色网址| 尤物一区二区三区| 久久久久久久久久久久久久一区 | 欧美日韩在线播放一区二区| 国产精品久久久久久久久久久不卡 | 91久久精品国产91性色| 亚洲v欧美v另类v综合v日韩v| 久久99精品久久久久久青青日本| 男女视频网站在线观看| 国产aaa精品| 国产精彩免费视频| 黑人中文字幕一区二区三区| 中文字幕久久综合| 777精品视频| 女同一区二区| 亚洲综合自拍一区| 日韩视频一区在线| 国产精品一区二区三区在线| 日本一区视频在线观看| 成人97在线观看视频| 久久男人资源视频| 国产日韩欧美电影在线观看| 欧美一区二区福利| 精品自拍视频在线观看| 久久99国产精品一区| 国产乱子伦精品视频| 欧洲视频一区二区三区| 亚洲一区二区三区免费观看| 久久国产精品免费观看| 国产乱码一区| 欧美成人综合一区| 日本一区免费| 中文字幕日本最新乱码视频| 日韩在线视频网站| 国产精品一区二区三区免费观看 | 欧美一级黑人aaaaaaa做受| 欧美精品久久久久久久久久| 国产极品美女高潮无套久久久| 韩国欧美亚洲国产| 日本一区二区免费高清视频| 欧美人交a欧美精品| 国产精品丝袜高跟| 国产二区不卡| 99中文字幕| 国产伦精品一区二区三区照片91| 欧美精品一区二区三区免费播放| 亚洲成人午夜在线| 国产a∨精品一区二区三区不卡| 日韩一区二区av| 国产激情在线看| 成人在线小视频| 国产亚洲精品自在久久 | 国内视频一区| 青青在线视频一区二区三区| 欧美一区二区三区综合| 一区二区日本伦理| 久久91精品国产91久久跳| 国产精品免费看久久久无码| 日韩中文字幕在线| 久久久久久久av| 久久国产乱子伦免费精品| 国产不卡视频在线| 久久婷婷五月综合色国产香蕉| 91九色在线免费视频| 国产美女精品久久久| 欧美动漫一区二区| 欧美在线免费视频| 日韩精品国内| 日韩视频 中文字幕| 日韩久久久久久久久久久久| 日韩xxxx视频| 欧美一区二区三区……| 日韩在线国产| 日本不卡一区二区三区视频| 日韩成人av电影在线| 日本一区二区久久精品| 日韩暖暖在线视频| 欧美亚洲另类在线| 韩国三级日本三级少妇99| 激情视频在线观看一区二区三区| 欧美又粗又长又爽做受| 极品校花啪啪激情久久| 国产淫片免费看| 粉嫩av一区二区三区免费观看 | 99精品国产高清一区二区|