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

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

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

黑帽白白白 SEO技術 650
:【面試】足夠“忽悠”面試官的『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://www.790079.com 專注于SEO培訓,快速排名
黑帽WiKi_黑帽百科(www.790079.com),8年黑帽SEO優化技術,黑帽seo快速排名,黑帽SEO技術培訓學習,黑帽SEO快速排名程序、泛目錄寄生蟲技術,贈送免費黑帽SEO視頻教程

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

掃一下添加微信:



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

免責聲明

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

同類推薦
久久久国产一区_国产综合久久久久_欧美亚洲丝袜_成人综合国产精品
国产精品大陆在线观看| 在线精品日韩| 黄色三级中文字幕| 日韩欧美电影一区二区| 天天干天天操天天干天天操| 亚洲激情免费视频| 午夜免费在线观看精品视频| 亚洲精品电影在线一区| 夜夜添无码一区二区三区| 色综合视频网站| 中文字幕日韩一区二区三区| 中文字幕人成一区| 欧美激情精品久久久| 中文字幕一区综合| 亚洲欧洲精品一区二区三区波多野1战4| 日韩国产在线一区| 欧美一区二区三区免费观看| 色综合av综合无码综合网站| 日本一区视频在线观看| 欧洲精品久久| 国产主播欧美精品| 99在线视频免费观看| 91精品国产91久久久久久久久 | 91久久夜色精品国产网站| 精品嫩模一区二区三区| 青青在线免费视频| 裸模一区二区三区免费| 国产精选久久久久久| 91九色单男在线观看| 久久精品国产99精品国产亚洲性色| 欧美精品无码一区二区三区| 奇米四色中文综合久久| 欧美精品一区二区三区三州| 国产精品又粗又长| 国产盗摄视频在线观看| 国产精品第二页| 午夜精品美女自拍福到在线| 加勒比成人在线| 91精品国产高清久久久久久91裸体 | 国产日本一区二区三区| 国产一区二区三区小说| www国产无套内射com| 日韩在线观看精品| 亚洲一区不卡在线| 欧美区高清在线| 91九色视频在线观看| 国产成人欧美在线观看| 伊人婷婷久久| 欧美老熟妇喷水| 91久久久精品| 国产精品久久久久不卡| 午夜精品美女久久久久av福利 | 日韩中文视频免费在线观看| 国产精品三级在线| 亚洲AV无码成人精品一区| 欧美高清中文字幕| 91精品国产自产在线老师啪| 久久精品国产成人| 性日韩欧美在线视频| 国产三区二区一区久久| 日韩最新av在线| 色综合久久88色综合天天提莫| 亚洲爆乳无码专区| 国产一区二区在线视频播放| 国产成人短视频| 亚洲欧美日韩另类精品一区二区三区| 美女啪啪无遮挡免费久久网站| 国产精品入口免费| 一女被多男玩喷潮视频| 国语精品免费视频| 久久亚洲精品无码va白人极品| 久久久久久av无码免费网站下载| av观看免费在线| 久久这里只有精品99| 欧美视频在线播放一区| 国产成人综合av| 性欧美激情精品| 91精品视频播放| 亚洲最大av网站| 国产精品一区二区久久久久| 欧美美最猛性xxxxxx| 黄页网站大全在线观看| 国产精品视频福利| 欧洲中文字幕国产精品| 91精品成人久久| 亚洲一区二区三区精品在线观看| 午夜精品久久久久久99热软件| 亚洲欧美综合一区| 成人精品在线观看| 欧美巨大黑人极品精男| 精品婷婷色一区二区三区蜜桃| 古典武侠综合av第一页| 国产精品黄页免费高清在线观看| 国产精品高潮呻吟久久av无限| 国产精品久久久久av免费| 青草网在线观看| 久久久久国产精品熟女影院| 亚洲欧洲久久| 91久久精品国产| 欧美一区二区色| 国产高清在线一区| 色999五月色| 久草精品电影| 精品人妻大屁股白浆无码| 国产精品久久91| 国产免费一区二区视频| 亚洲综合中文字幕在线观看| 7777免费精品视频| 日本高清视频免费在线观看| 久久久久久久久国产| 欧美图片激情小说| 国产精品极品尤物在线观看| 国产欧美日韩在线播放| 亚洲一区不卡在线| 久久久久久久久久久综合| 欧美日韩亚洲第一| 欧美激情喷水视频| 久久亚洲国产成人精品无码区| 国产精品久久久亚洲| 蜜桃成人免费视频| 美女啪啪无遮挡免费久久网站| 日韩免费中文字幕| 日韩在线观看高清| 国内精品国语自产拍在线观看| 久久青青草综合| 日本韩国欧美精品大片卡二| 久久久噜噜噜www成人网| 精品人妻一区二区三区四区在线| 91精品在线观看视频| 日本欧洲国产一区二区| 国产精品久久久久高潮| 国产美女久久久| 日本一区二区三区在线视频| 国产精品免费看久久久香蕉| 99在线免费观看视频| 欧美综合第一页| 中文字幕人成一区| 色青青草原桃花久久综合| 国产免费一区二区三区在线能观看| 国产精品视频不卡| 草b视频在线观看| 欧美精品成人一区二区在线观看| 91成人精品网站| 日韩精品久久久毛片一区二区| 777久久精品一区二区三区无码| 欧美精品亚州精品| 久久伦理网站| 美女主播视频一区| 欧美一区二区大胆人体摄影专业网站 | 国产麻豆日韩| 人妻熟女一二三区夜夜爱| 九九热r在线视频精品| 国产不卡一区二区视频| 国产在线999| 日本成人黄色| 尤物一区二区三区| 国产精品久久中文| 久久久久久久久中文字幕| 91美女福利视频高清| 精品一区二区久久久久久久网站| 日韩中文字幕免费| 豆国产97在线| 欧美 日韩 亚洲 一区| 日韩av免费看网站| 一区二区三区四区视频在线| 国产精品高潮视频| 久久久精品久久| 久久66热这里只有精品| 91精品国产高清久久久久久91| 日韩一级在线免费观看| 久久久国产视频91| 国产精品333| 99精品视频在线看| 国产精品综合久久久| 国产在线视频一区| 男人舔女人下面高潮视频| 热久久精品国产| 日韩欧美视频一区二区| 欧美一区1区三区3区公司| 丁香六月激情婷婷| 亚洲v国产v| 三年中国中文在线观看免费播放| 国产成人看片| 国产suv精品一区二区| 国产精品一区二区你懂得| 国产尤物91| 国产日韩欧美成人| 国产成人精品在线视频| 午夜精品一区二区三区在线播放| av一区二区三区免费| 精品一区二区三区视频日产| 欧洲久久久久久| 欧美在线视频网| 日本不卡免费新一二三区| 日本一区二区视频| 亚洲xxxx视频| 欧美一级黄色影院| 欧美中文字幕在线播放| 欧美日韩精品综合| 成人一区二区av|