摘要:本文主要以Cocos2d Web專案2048小游戲的開發上云為例,介紹DevOps開發實踐的全流程
前言
本文主要以Cocos2d Web專案2048小游戲的開發上云為例,介紹DevOps開發實踐的全流程,主要涉及開發工具為華為云軟體開發平臺DevCloud和CocosCreator,按照整體的開發流程:代碼托管->編譯構建->發布(倉庫)->部署,將文章分為兩部分詳細介紹,第一部分為2048小游戲的代碼開發,第二部分為該小游戲專案上云的操作指導,詳細內容請見下文!
在正式開始前,首先對本文用到的代碼倉庫進行說明:
1.x小節中使用的代碼倉庫為CocosCreator開發代碼,原始碼地址:https://github.com/potato47/so-many-games.git
2.x小節中使用的代碼倉庫為:經過CocosCreator構建后的Web端檔案,倉庫地址:https://codehub.devcloud.cn-north-4.huaweicloud.com/yxdmmsymbgl00001/soManyGames.git
2048小游戲代碼開發
游戲功能描述
在4x4的格子布局中,玩家通過手勢上下左右滑動以使與滑動方向相同的同值數字相加,直到累加到2048,如此邏輯也衍生了眾多高熱度的小游戲,
此次展示demo中的2048游戲,就是在此基礎上將數字改寫為“幼兒園”“小學生”等,模擬我們這一生的學習成長路徑增強了游戲的趣味性,并且本demo中設定的上限也不再是2048,具體是什么不如親手來試試吧~
CocosCreator開發流程
在CocosCreator新建一個場景,在Canvas下創建節點,根據需求不同,可以添加一些Sprite、Label、Button等不同的節點,
針對于每個節點,我們也可以為其添加相應組件,這些組件可以是CocosCreator自帶的組件,也可以是我們自己撰寫好的代碼,
實作邏輯:六個關鍵點
該游戲的邏輯主要有六點:創建格子類、游戲初始化設計、隨機初始值設定、手勢識別、手勢滑動邏輯實作和結束游戲判斷,詳細方法如下:
格子類創建
格子類是組成2048游戲的基礎,4*4的方格的16個位置放置不同的格子,每個位置為獨立的一張格子,對于每個格子而言,我們需要記錄3個值(也可以說是2個值):橫坐標x、豎坐標y、(x、y共同確定格子位置),格子中的數值n,根據實際數值n值的不同,格子內顯示的文字和顏色也都會變化,代碼參考如下:
游戲初始化
在游戲開始時,執行棋盤的初始化,將所有格子都清零,再新設定兩個格子的值,所有格子的值歸零,代碼參考如下:
隨機初始值
代碼參考如下:
手勢識別
在場景的初始化時添加監聽事件,獲取到觸摸事件后,記錄點擊開始的位置和結束的位置,通過手勢位移的變化量確定位移方向,再呼叫手勢滑動方法,參考代碼如下:
手勢滑動邏輯
根據滑動方向的不同,需要使用不同的方法進行處理,
此處以左滑為例:
合并:先遍歷豎軸y,再遍歷橫軸x,每一豎軸y中,從左至右對應x軸的值為0至3,若其右側有值且與其相等,則其值x2,其右側值置0.
移動:重復一遍如上遍歷,如有某一格子值為0,且其右側有值,則該格子值置為右側值,右側值置為0,
如有“合并”或“移動”,則為有效滑動操作,即新生成格子值,并回傳是否是有效操作,參考代碼如下:
游戲結束判斷
若為有效操作后,判斷是否可以結束游戲,結束游戲,參考代碼如下:
應用上云運行
以華為云軟體開發平臺DevCloud為開發工具,進行該專案上云運行的流程:創建專案、創建代碼倉、創建編譯構建任務、創建部署任務、訪問應用、釋放資源,
創建專案
前往軟體開發平臺DevCloud>>>
點擊免費試用,開通基礎版套餐
新建Scrum專案,引數如下:
- 專案流程:Scrum
- 專案名稱:自定義
- 點擊“確定”完成專案創建

實踐步驟二:創建代碼倉
前往代碼托管,匯入外部倉庫,并按如下填寫外部倉庫資訊:
注:本次匯入的代碼倉為經過CocosCreator構建之后的Web檔案倉庫,
- 源倉庫地址:ü https://codehub.devcloud.cn-north-4.huaweicloud.com/yxdmmsymbgl00001/soManyGames.git
- 源倉庫訪問權限:不需要用戶名/密碼
- 勾選“我已閱讀并同意 《隱私政策宣告》 和 《軟體開發服務使用宣告》”
- 點擊“下一步”按鈕,

實踐步驟三:編譯構建任務
前往編譯構建新建任務

編輯構建模板
(1)選擇Shell,點擊確定,并在右側命令列輸入內容:zip -qr WebGames.zip ./
(2)在Shell下方添加“選擇上傳軟體包到軟體發布庫”,按以下內容填寫后,點擊新建并執行,
- 構建包路徑:WebGames.zip
- 發布版本號:1.0.0
- 包名:WebGames




實踐步驟四:部署應用
部署應用在云上,需配置云服務器資源以替代服務器資源,
(1)前往彈性云服務器資源>>>,購買云資源,
(2)按照需求進行云資源配置
A)基礎配置如下:
- 計費模式:按需收費
- 區域:華北-北京四
- 可用區:隨機分配
- CPU架構:x86計算
- 規格:c6.large.2(2核4G)
- 鏡像:CentOS 7.5 64bit(40GB)
B)網路配置如下 :
- 網路:vpc-default/subnet-default
- 安全組:Sys-WebServer(入向規則需包括TCP:8080埠)
- 彈性公網IP:現在購買
- 公網寬帶:按寬帶計算
- 寬帶大小:1
- 釋放行為:隨實體釋放
C) 高級配置如下:
- 云服務器名稱:自定義
- 登錄憑證:密碼
- 密碼:自定義 (后續部署需使用)
D)確認配置完成ECS創建,注購買ECS數量為1即可,
進入部署服務,添加主機組,
(1)輸入主機組名,選擇Linux,

(2)添加主機,匯入ECS,
- 主機名稱(自擬,云服務名稱webGames)、
- IP(云服務彈性公網IP)
- 認證方式:密碼
- 用戶名:root
- 密碼:自己云服務器ECS的密碼
- ssh埠:22

創建部署任務
(1)進入部署任務,新建任務
(2)選擇“Tomcat應用部署”模板,Tomcat 應用部署模板會預置 jdk、tomcat 安裝、啟動等步驟,
(3)在“選擇部署來源”步驟后,添加“解壓檔案”,并在其中添加構建包的解壓路徑后,保存,
- 壓縮檔案路徑:/usr/local/tomcat/apache-tomcat-8.5.38/webapps/WebGames.zip
- 解壓目錄:/usr/local/tomcat/apache-tomcat-8.5.38/webapps/WebGames

(4)“URL 健康測驗”,將 URL 地址修改成 http://云服務器彈性公網IP:8080/WebGames/index.html,點擊“保存并執行”,
(5)在彈出的運行時引數頁面,填寫引數值,
- host_group 可通過下拉箭頭,選擇之前創建的主機組
- package_url 是構建包在發布倉庫的地址:/WebGames/1.0.0/WebGames.zip,
- service_port 為:8080.

實踐步驟五:部署成功后,進入部署任務的“訪問方式”頁簽,點擊“訪問”查看應用
淺淺體驗一把2048小游戲演繹我的“這一生”,看看能到哪一級別吧~
2000 years later……
罷了,我的學歷只能止步于高中了……
實踐步驟六:釋放資源,華為云DevCloud免費版不收費,但ECS資源按需收費需及時釋放,
前往ECS串列頁,洗掉釋放ECS資源,
以上,即為2048小游戲開發到云上運行的全流程,想要學習了解更多內容,歡迎關注華為云一行代碼秒上云活動>>>,加入我們的學習交流群獲得更多云上開發的技能吧~
點擊關注,第一時間了解華為云新鮮技術~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/518865.html
標籤:其他
