【飛機(jī)游戲】【Cocos】【P0】創(chuàng)建背景、飛機(jī)和子彈-全球動(dòng)態(tài)
時(shí)間:2023-06-24 17:40:41
0 使用Cocos Creator引擎開發(fā)一個(gè)2D的飛機(jī)射擊游戲。
0.1 創(chuàng)建背景對象,讓背景滾動(dòng)起來。
0.2 創(chuàng)建飛機(jī)對象,讓飛機(jī)跟隨鼠標(biāo)位置移動(dòng)。
0.3 創(chuàng)建子彈對象,設(shè)定其運(yùn)動(dòng)軌跡,并控制子彈的生命周期讓它從飛機(jī)上發(fā)射出去,離開屏幕范圍后銷毀。
(相關(guān)資料圖)
1 創(chuàng)建背景對象,讓背景滾動(dòng)起來。
1.0 獲取游戲開發(fā)素材。素材可在(https://github.com/CodePoisonous/AirPlaneGame)的assets文件夾中獲取。素材內(nèi)容包括背景圖片,各色飛機(jī)的模型、貼圖文件,各色子彈的貼圖文件以及音頻文件。
1.1 啟動(dòng)引擎(使用的版本是3.7.3),新建一個(gè)項(xiàng)目,將資源導(dǎo)入到引擎中。
1.2 在res文件路徑下創(chuàng)建一個(gè)back_ground文件夾,在該文件夾下右鍵創(chuàng)建一個(gè)名為bg_texture的material資源。將與back_ground文件夾平級的texture文件夾中的bg01貼圖文件關(guān)聯(lián)到bg_texture中。
1.3 在節(jié)點(diǎn)樹上新建一個(gè)moving_scene_bg的空節(jié)點(diǎn)。在該空節(jié)點(diǎn)中創(chuàng)建兩個(gè)3D Object的Plane類型節(jié)點(diǎn)bg01和bg02。并將之前創(chuàng)建的bg_texture綁定到這兩個(gè)Plane節(jié)點(diǎn)的Material上。
1.4 將相機(jī)的視口調(diào)整為正交,調(diào)整好相機(jī)和兩個(gè)Plane(bg01和bg02)的位置和比例,讓兩個(gè)背景前后相接的擺放好,相機(jī)朝下對準(zhǔn)其中的一塊背景圖。?
1.5 在Assets中的Script腳本文件夾中創(chuàng)建一個(gè)控制背景圖移動(dòng)的TypeScript腳本文件。
1.6 背景移動(dòng)的腳本思路大致是:先綁定兩個(gè)背景圖節(jié)點(diǎn),然后讓其同時(shí)在z軸正方向逐幀進(jìn)行移動(dòng),當(dāng)某張圖超出了尺寸界限之后就回滾到初始位置再繼續(xù)沿z軸方向移動(dòng)。?
1.7 背景滾動(dòng)的效果如下所示。
2 創(chuàng)建飛機(jī)對象,讓飛機(jī)跟隨鼠標(biāo)位置移動(dòng)。
2.0 在Assets的model文件夾中找到Plane01文件夾,里面裝有飛機(jī)模型和飛機(jī)貼圖資源。在Plane01文件夾中創(chuàng)建一個(gè)飛機(jī)的Material,將Material的Effect調(diào)成builtin-unlit(因?yàn)檫@個(gè)游戲不需要考慮光照的問題),再將飛機(jī)的紋理圖綁定到這個(gè)Material上。?
2.1 在Hierarchy欄里新建一個(gè)Plane01的Empty Node。并將飛機(jī)的模型貼圖綁到該節(jié)點(diǎn)上。再將我們創(chuàng)建的飛機(jī)的Material綁到模型節(jié)點(diǎn)上。
2.2此時(shí)我們可以在場景中看到一個(gè)飛機(jī)的模型。最后將我們創(chuàng)建的飛機(jī)節(jié)點(diǎn)保存到Assets的Plane01的文件夾下即可。
2.3 創(chuàng)建完飛機(jī)模型之后,我們就需要編寫腳本來控制飛機(jī)的移動(dòng)。當(dāng)我們按住鼠標(biāo)左鍵時(shí),需要讓飛機(jī)跟隨我們鼠標(biāo)的移動(dòng)而移動(dòng)。在Assets的script文件夾下創(chuàng)建一個(gè)ui文件夾,創(chuàng)建一個(gè)名為ui_main的腳本文件。(腳本的思路就是利用事件回調(diào)函數(shù)監(jiān)控鼠標(biāo)在左鍵按下時(shí)每幀鼠標(biāo)的移動(dòng)信息,并根據(jù)預(yù)設(shè)好的飛機(jī)移動(dòng)速度來對飛機(jī)在屏幕中的位置進(jìn)行調(diào)整,讓飛機(jī)跟隨鼠標(biāo)的移動(dòng)而移動(dòng)。)
2.4 在Hierarchy中創(chuàng)建一個(gè)2D Object的sprite節(jié)點(diǎn)。將我們編輯好的ui_main腳本掛在sprite節(jié)點(diǎn)上。將飛機(jī)的節(jié)點(diǎn)也掛在到sprite節(jié)點(diǎn)上。
2.5 運(yùn)行程序可得如下效果。
3 創(chuàng)建子彈對象,設(shè)定其運(yùn)動(dòng)軌跡,并控制子彈的生命周期讓它從飛機(jī)上發(fā)射出去,離開屏幕范圍后銷毀。
3.0 在Assets的bullet文件夾下找到子彈的貼圖資源,我們先創(chuàng)建一個(gè)子彈的Material,將貼圖綁定到Material上。
3.1 在Hierarchy上創(chuàng)建一個(gè)Empty Node類型的bullet01節(jié)點(diǎn),再在其下創(chuàng)建一個(gè)3D Quad類型的子節(jié)點(diǎn)body。將bullet01的Material綁定到body節(jié)點(diǎn)上。?
3.2 創(chuàng)建子彈的腳本文件來管理子彈對象的移動(dòng)軌跡以及子彈對象的銷毀(沿z負(fù)方向直線移動(dòng),超出屏幕后即可銷毀)。?
3.3 創(chuàng)建兩個(gè)Empty Node 節(jié)點(diǎn):bullet_manager和game_manager。
· 其中bullet_manager節(jié)點(diǎn)創(chuàng)建的目的是為了讓子彈對象實(shí)例化之后能掛載到該節(jié)點(diǎn),只有在節(jié)點(diǎn)上的實(shí)例化對象才能在屏幕中顯示出來。
· 另一個(gè)game_manager節(jié)點(diǎn)則是通過使用game_manager腳本來管理和調(diào)度整個(gè)游戲中對象之間的互動(dòng)邏輯。?
3.4 game_manager腳本的大體思路就是:
· 先綁定飛機(jī)節(jié)點(diǎn)對象、子彈節(jié)點(diǎn)對象、子彈管理節(jié)點(diǎn)對象以及設(shè)置好射擊的時(shí)間周期和子彈速度。
· 當(dāng)腳本運(yùn)行后,我們給飛機(jī)設(shè)置一個(gè)初始位置,并初始化當(dāng)前射擊時(shí)間。
· 在每幀的循環(huán)中使用ui_manager腳本獲取鼠標(biāo)是否被點(diǎn)擊的信息,并將標(biāo)識傳遞給game_manager。
· 當(dāng)game_namger腳本識別到鼠標(biāo)左鍵被按下時(shí),根據(jù)射擊時(shí)間,周期性的實(shí)例化子彈對象,并將子彈對象掛載到場景的子彈管理節(jié)點(diǎn)上,并根據(jù)當(dāng)前飛機(jī)對象的位置來設(shè)置子彈的初始位置。
· 當(dāng)子彈對象掛載到了子彈管理節(jié)點(diǎn)后,節(jié)點(diǎn)上綁定的bullet腳本將會(huì)運(yùn)行起來,讓子彈沿著它的運(yùn)動(dòng)軌跡飛行起來。?
3.5 運(yùn)行游戲可看到效果如下。
相關(guān)稿件
【飛機(jī)游戲】【Cocos】【P0】創(chuàng)建背景、飛機(jī)和子彈-全球動(dòng)態(tài)
趙麗穎落選白玉蘭獎(jiǎng)視后,胡歌和朱一龍落選視帝,誰更可惜
全球快資訊:本科沒有學(xué)位證會(huì)有什么影響_本科沒有學(xué)位證有什么影響
全球速遞!疑似姚景元老師曬其高考成績 三戰(zhàn)考401分超去年93分
A股:格林美的股價(jià)自高點(diǎn)腰斬,股民在離場,機(jī)構(gòu)數(shù)量卻在增加 環(huán)球最新
焦點(diǎn)信息:深圳松崗MasterCAM四軸五軸編程培訓(xùn)
探討整形外科手術(shù)中腎上腺素使用的最大劑量 天天快訊
【快播報(bào)】美疾控中心敦促公眾暑期國際旅行前接種麻疹疫苗
當(dāng)前速訊:廣州啟動(dòng)氣象災(zāi)害(雷雨大風(fēng))Ⅳ級應(yīng)急響應(yīng)
成都中醫(yī)藥大學(xué)招生計(jì)劃-各專業(yè)招生人數(shù)是多少 焦點(diǎn)速看
世界聚焦:賽車涂裝效果炸裂!Stüssy x Nike Dunk 太帥了!
麥露迪——開啟女鞋行業(yè)創(chuàng)業(yè)新紀(jì)元
當(dāng)前視訊!暨大今年在粵招生2324人,新增2個(gè)本科招生專業(yè)
今日報(bào)丨多股暴漲500%!光模塊進(jìn)入“狂飆”模式
前沿資訊!明天6月25日開始得財(cái)神青睞 賺錢最猛的生肖
每日速讀!喜鵲叫 明天6月25日必定好運(yùn)爆棚,開門接財(cái)神,雙喜臨門這三生肖
AGM推出PAD P1三防平板:聯(lián)發(fā)科Helio G99+7000mAh電池
教育頻道
全球熱文:馬蘇真不怕熱,大夏天穿件長風(fēng)衣,加頂漁夫帽,防曬很到位了
研究顯示全球約九成過量碳排放源自美國等發(fā)達(dá)國家
小學(xué)教師之友系列:基礎(chǔ)數(shù)學(xué)(關(guān)于小學(xué)教師之友系列:基礎(chǔ)數(shù)學(xué)介紹) 當(dāng)前最新

