Giới Thiệu

Thực tế thì tôi cũng chả phải là một trong thiết kế viên siêng game hay gì cả, chỉ nên lần này bản thân có được nhận làm cho một project game thời gian ngắn từ bỏ anh sếp với được recomkết thúc thực hiện Cocos Creator. Sau một thời hạn không thật nhiều năm tiếp xúc với nó thì bản thân thấy nó cũng rất giỏi bắt buộc ao ước share cho gần như người về engine này

Theo như bản thân đã đạt được biết thì trước đây khi chưa có Cocos Creator thì những fan vẫn sử dụng Cocos2d-x code bởi C++. Nhược điểm của thằng này là không tồn tại giao diện tín đồ lập trình sẵn nên trường đoản cú tưởng tượng code và rồi chạy lên new thấy được tác dụng. Để khắc chế điều đó, có tác dụng tăng năng suất cùng bắt kịp được với Unity, thì Cocos Creator đã làm được ra đời. Bây Giờ thì thằng này chỉ cung cấp trên MAC và Window phải anh em nào cần sử dụng Ubuntu thì có thể đang hơi bi quan.

Bạn đang xem: Cocos2dx là gì

Vậy Cocos2d-x là gì thì Cocos2d-x là 1 trong những Engine cung ứng thiết kế trò chơi nhiều căn nguyên : điện thoại ( IOS, ANDROID, Blackberry, TIZEN, WP) Window, MacOS, HTML5,.. đại các loại là đầy đủ cả. Theo wikipedia thì tác giả của Cocos2d-x là một trong những tín đồ china có tên là Zhe Wang.

*

*


2012, at Zynga. With Rolanbởi Abarca and Zhe Wang discussing Cocos2d-x’s & cocos2d-iphone’s roadmaps

Lúc Này thì nó vẫn được gần như bạn bóng giếng cải cách và phát triển tương đối là dũng mạnh với không chấm dứt triển khai xong nhằm trở nên Unity phiên bản miễn phí, nhưng mà chặng đường chắc hẳn vẫn còn hơi nhiều năm.

Thực Hành Tạo Và Deploy Game

Mình thì không ưng ý lâu năm cái mà mình thấy các tốt nhất nhằm học tập một chiếc gì là cứ đọng bỏ vào có tác dụng luôn nó bắt đầu nhanh khô vỡ vạc ra được, chứ cđọng định hướng suông thì khôn xiết khó tưởng tượng.

*

Đây là Home để tải cocos creator : https://www.cocos.com/en/creator

Sau lúc thiết lập về và thiết đặt (mua điều này khá là lâu nha) thì hình ảnh chủ yếu của creator vẫn như thế này

*

Giờ bọn họ đang đi luôn vào có tác dụng game thứ nhất nhỏng vào docs của cocos hướng dẫn. Dưới đây là nguồn assets làm cho game và game đang trả thành

Assets

Sau Lúc download Assets ban sơ về chúng ta sẽ import nó vào creator, khôn cùng dễ dàng chỉ cần kéo thả vào thôi

*

Phần Assets sẽ là địa điểm chđọng các nguồn dữ liệu để ta dụng để tạo thành hình

*

Scene

Sau Lúc vẫn gồm Assets ta sẽ tạo nên các Scene. Scene là một trong phiên bản nhân tình 2D cùng có thể mlàm việc cơ chế 3D, tạo điều kiện cho ta kéo tả, biến hóa tạo ra UI. Mỗi Scene đang là 1 screen phong cách như thể bên trên web bọn họ sẽ sở hữu được trang trang chủ, trang detail, trang about thì scene chính là những view kia. Ta có thể sản xuất nhiều scene với đổi khác giữa chúng vào game.

*

Thêm khác thực thể vào Scene

*

Tại phía trên ta có thể tùy kéo kéo chỉnh, biến hóa địa điểm của những thực thể sao cho bản thân thấy ổn định tuyệt nhất. Có nhiều chế độ kéo thả

Di đưa theo hướng X - Y thứ nhất chọn bên góc trái kế tiếp có thể dịch rời địa điểm của thực thể

*

Ttốt thay đổi góc xoay của thực thể. Chọn cùng ra scene biến hóa góc quay

*

Rkích cỡ kích cỡ thực thể lựa chọn
*
cùng thay đổi kích thước

*

Ở bên trên scene ta chỉ cần cố gắng cầm cố thôi là có thể kéo thả, chuyển đổi form size cùng dic gửi mọi bản đồ

Properties

Thì kế bên câu hỏi kéo thả ngơi nghỉ scene chúng ta cũng rất có thể biến hóa địa chỉ, biến hóa độ nhìn trong suốt, thêm những script, thêm animation và tương đối nhiều thức khác ở trong phần này

*

Position chính là địa điểm của thực thể kia trên scene tính theo trục tọa đọ X-YRotaion là góc nghiêngScale là dạng hình pđợi khổng lồ theo 2 chiều x hoặc yAnchor là nhằm biến đổi địa điểm của thực thể so với gốc tọa độ của chủ yếu nóSize đó là biến đổi form size width-Height của thực thểColor là màu sắc của thực thểOpathành phố độ nhìn trong suốt...

Node Tree

Đây lúc Khu Vực nhằm ta xác định được đâu là nhân tố phụ vương con của nhau hoặc thằng nào làm việc lớp trên, thằng làm sao sống lớp bên dưới.

*

*

thằng nào càng ở dưới Có nghĩa là nó đã trên lớp tối đa. Kiểu như ngơi nghỉ trong css bao gồm thuộc tính z-index lúc ta thực hiện position vậy. Càng sinh sống bên dưới thì z-index càng tốt cùng hoàn toàn có thể bít lớp thằng tê. Giống như cái ground sẽ che đi cả thằng PurpleMonster.

Timeline

phần này dùng để làm tạo nên các animation solo giảm chị nên biến hóa góc nghiêng hay đổi khác địa điểm của thực thể. Đây là ví dụ về 1 animation nhảy

*

*

Tạo Hình Và Bắt Sự Kiện Cho Nhân Vật

Bây tiếng sau khi vẫn phát âm hết những phần với tác dụng của chính nó chúng ta vẫn bước vào có tác dụng game trước tiên nha

Trước hết họ buộc phải kéo những nhân tố của game vào để có một cái UI tổng quát

*

Sau Lúc thực hiện không còn các kiến thức và kỹ năng sinh sống bên trên nhằm kéo thả ra một UI nhỏng vào hình, thì bây giờ các bước phải làm cho là add thêm những script để bắt sự khiếu nại trong game. Tạo một folder scripts --> cùng new một tệp tin Player.js.

Tạo folder

*

Tạo file js

*

Cliông xã double vào file Player ta đã thấy một size js tất cả sẵn

// Player.js cc.Class( extends: cc.Component, properties: // foo: // // ATTRIBUTES: // default: null, // The default value will be used only when the component attaching // // to lớn a node for the first time // type: cc.SpriteFrame, // optional, mặc định is typeof mặc định // serializable: true, // optional, default is true // , // bar: // get () // return this._bar; // , // set (value) // this._bar = value; // // , , // LIFE-CYCLE CALLBACKS: // onLoad () , start () , // update (dt) , );Giờ thêm những properties // Player.js //... properties: // main character"s jump height jumpHeight: 0, // main character"s jump duration jumpDuration: 0, // maximal movement tốc độ maxMoveSpeed: 0, // acceleration accel: 0, , //...Tiếp cho ta vẫn gắn thêm js này cho thằng thực thể PurpleMonster để lát nữa sẽ cách xử trí sự kiện trong tệp tin js này. Quay về screen vào phần Node Tree nãy tôi đã nói, chọn thực thể PurpleMonster sau đó lưu ý sang trọng phần properties của chính nó. Ta vẫn xuống button Add Component lựa chọn Custom component cùng chọn Player

*

Sau khi đã add được js vào vào nó đang hiện ra các ở trong tính ta vừa định nghĩa trong tệp tin Player ngơi nghỉ trên và ta đang điền các thông số kỹ thuật vào chỗ này.

*

Bây tiếng ta đang viết một cái hàm dancing cho thằng này

// Player.js properties: //... , setJumpAction: function () // jump up var jumpUp = cc.moveBy(this.jumpDuration, cc.v2(0, this.jumpHeight)).easing(cc.easeCubicActionOut()); // jump down var jumpDown = cc.moveBy(this.jumpDuration, cc.v2(0, -this.jumpHeight)).easing(cc.easeCubicActionIn()); // repeat return cc.repeatForever(cc.sequence(jumpUp, jumpDown)); ,Sau Lúc đang bao gồm hàm nhảy đầm rồi ta sẽ set hàm đó vào onLoad(). Điều này có tính năng là nó đã chạy tức thì sau thời điểm thực thể lại được load ra// Player.js onLoad: function () // initialize jump action this.jumpAction = this.setJumpAction(); this.node.runAction(this.jumpAction); ,Ok thử nghiệm coi chạy không nha. Chọn vào nút ít

*
sống bên trên thuộc thân màn hình
*

cc.repeatForever sẽ giúp đỡ hành động xẩy ra tái diễn sống thọ. cc.sequence triển khai hành vi tuần trường đoản cú. jumpUp, jumpDown là nhảy đầm lên cùng nhảy đầm xuống --> cứ điều đó cc.repeatForever(cc.sequence(jumpUp, jumpDown)) đã có tác dụng PurpleMonster khiêu vũ mãi mãi cùng hàm được đặt ở onLoad() cần hàm sẽ tiến hành chạy tức thì sau khoản thời gian khi thực thể được load.

Xem thêm: Độ Rộng Kênh Wifi Là Gì - Độ Rộng Kênh 20 Mhz Hay 40 Mhz Của Router Là Gì

Đã tạo ra hàm nhảy, sau đó bọn họ sẽ khởi tạo hành động di chuyển sang trái, thanh lịch cần mang lại nhân đồ.

// Player.js setJumpAction: function () //... , onKeyDown (event) // phối a flag when key pressed switch(event.keyCode) case cc.macro.KEY.a: this.accLeft = true; break; case cc.macro.KEY.d: this.accRight = true; break; , onKeyUp (event) // unmix a flag when key released switch(event.keyCode) case cc.macro.KEY.a: this.accLeft = false; break; case cc.macro.KEY.d: this.accRight = false; break; ,onKeyDown là lúc ta nhnóng phím, cònonKeyUp là lúc ta nhả phím ra. Sẽ có 1 switch nghỉ ngơi vào để soát sổ coi ta bnóng phím nào sống keydown cùng nhả phím nào ngơi nghỉ keyup. Sau đó phối hướng cho nó sinh sống keydown mang đến hướng đấy thành true và khi nhả phím thì mix lại thành false chỉ dễ dàng vậy thôi.

Nhưng bận ao ước game cảm nhận ác tín hiệu lệnh kia của chính mình thì bạn cần khởi chế tạo keyboard bằng cách như sau

// Player.js onLoad: function () // Initialize the jump action this.jumpAction = this.setJumpAction(); this.node.runAction(this.jumpAction); // Acceleration direction switch this.accLeft = false; this.accRight = false; // The main character"s current horizontal velocity this.xSpeed = 0; // Initialize the keyboard đầu vào listening cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this); cc.systemEvent.on(cc.SystemEvent.EventType.KEY_UP.., this.onKeyUp, this); , onDestroy () // Cancel keyboard input đầu vào monitoring cc.systemEvent.off(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this); cc.systemEvent.off(cc.SystemEvent.EventType.KEY_UPhường., this.onKeyUp, this); ,Khởi chế tác lắng tai keyboard Khi load và hủy lắng tai lúc thực thể kia bị phá hủy

Cuối thuộc là phần update vị trí của nhân đồ vật khi ta bấm nút

// Player.js update: function (dt) // update speed of each frame according to lớn the current acceleration direction if (this.accLeft) this.xSpeed -= this.accel * dt; else if (this.accRight) this.xSpeed += this.accel * dt; // restrict the movement tốc độ of the main character to lớn the maximum movement tốc độ if ( Math.abs(this.xSpeed) > this.maxMoveSpeed ) // if tốc độ reach limit, use max speed with current direction this.xSpeed = this.maxMoveSpeed * this.xSpeed / Math.abs(this.xSpeed); // update the position of the main character according khổng lồ the current speed this.node.x += this.xSpeed * dt; ,Mình đã làm demo thì thấy thằng update() này cđọng 0,01 giây nó đang điện thoại tư vấn một lần

update(dt) console.log("Run in function update() time : ", dt);

*
Tức là nó vẫn gọi hàm gần như liên tục

if (this.accLeft) this.xSpeed -= this.accel * dt; else if (this.accRight) this.xSpeed += this.accel * dt; Phần này đang khám nghiệm xem người tiêu dùng đang bắt nhân thiết bị chạy về phía làm sao. Sau đó sẽ biến hóa vị trí nhân vật theo phía đó bằng phương pháp trừ tuyệt công tọa đọ X với cùng 1 vận tốc tăng theo thời gian. Nhưng để phòng ngôi trường hòa hợp tăng tốc độ quá nkhô cứng thì 1 phần giới hạn vận tốc được thiết lập ở ngay lập tức phía bên dưới.

if ( Math.abs(this.xSpeed) > this.maxMoveSpeed ) // if speed reach limit, use max speed with current direction this.xSpeed = this.maxMoveSpeed * this.xSpeed / Math.abs(this.xSpeed); Phần cuối của hàm l à phối địa chỉ mang đến nhân vật

this.node.x += this.xSpeed * dt;

Tạo Hình Và Bắt Sự Kiện Cho Ngôi Sao

Sau Lúc vẫn thực hiện hoàn thành mang lại nhân vật kế tiếp chúng ta đang triển khai mang đến ngôi sao sáng. Do ngôi sao sáng sẽ mở ra với không đủ lúc nhân vật dụng tiếp xúc với nó. Tức là nó sẽ được tạo thành và tàn phá đi liên lục vì thế ở đây ta đã hễ đụng đến một tư tưởng Prefab. Prefab là gần như node phần đa thực thể ta vẫn tạo ra dẫu vậy bắt buộc sử dụng đi áp dụng lại các lần, nó hệt như có mang component sinh hoạt trong số framework React giỏi Vue vậy.

Thì hiện giờ ta sẽ tạo ra những Prefab điều này bằng cách kéo ngôi sao sáng vào Scene với sinh sản một file script rồi add vào đến nó.

*

// Star.js properties: // When the distance between the star and main character is less than this value, collection of the point will be completed pickRadius: 0, ,

*

Rồi sau khoản thời gian đang add script cho nó ta đổi mới nó thành 1 một Prefab bằng cách. Kéo nó từ Scene xuống ô Assets vậy là xong

*

*

Tiếp mang lại là chế tạo sự khiếu nại nhằm set địa điểm mang đến ngôi sao lúc nó lộ diện. Tạo một tệp tin Game.js

// trò chơi.js properties: // this property quotes the PreFab resource of stars starPrefab: default: null, type: cc.Prefab , // the random scale of disappearing time for stars maxStarDuration: 0, minStarDuration: 0, // ground node for confirming the height of the generated star"s position ground: default: null, type: cc.Node , // player node for obtaining the jump height of the main character and controlling the movement switch of the main character player: default: null, type: cc.Node ,starPrefab ta nhằm type là Prefab. bây giờ add script này mang đến thằng Canvas đẩy lên phần Node Tree --> chọn Canvas --> rồi Properties chọn Add Component cùng lựa chọn file script Game

Rồi giờ đồng hồ cho phần Generate sao bằng cách random vị trí

// Game.js onLoad: function () // obtain the anchor point of ground màn chơi on the y axis this.groundY = this.ground.y + this.ground.height/2; // this.ground.top may also work // generate a new star this.spawnNewStar(); , spawnNewStar: function() // generate a new node in the scene with a premix template var newStar = cc.instantiate(this.starPrefab); // put the newly added node under the Canvas node this.node.addChild(newStar); // phối up a random position for the star newStar.setPosition(this.getNewStarPosition()); , getNewStarPosition: function () var randX = 0; // According khổng lồ the position of the ground cấp độ and the main character"s jump height, randomly obtain an anchor point of the star on the y axis var randY = this.groundY + Math.random() * this.player.getComponent("Player").jumpHeight + 50; // according khổng lồ the width of the screen, randomly obtain an anchor point of star on the x axis var maxX = this.node.width/2; randX = (Math.random() - 0.5) * 2 * maxX; // return khổng lồ the anchor point of the star return cc.v2(randX, randY); ,Test nào

*

Rồi giờ gắn thêm sao vào cùng với tổng thể và toàn diện game

// trò chơi.js spawnNewStar: function() // ... // Staging a reference of trò chơi object on a star component newStar.getComponent("Star").game = this; ,// Star.js getPlayerDistance: function () // judge the distance according to lớn the position of the player node var playerPos = this.game.player.getPosition(); // calculate the distance between two nodes according lớn their positions var dist = this.node.position.sub(playerPos).mag(); return dist; , onPicked: function() // When the stars are being collected, invoke the interface in the Game script to lớn generate a new star this.game.spawnNewStar(); // then destroy the current star"s node this.node.destroy(); , update: function (dt) // judge if the distance between the star and main character is less than the collecting distance for each frame if (this.getPlayerDistance() this.pickRadius) // invoke collecting behavior this.onPicked(); return; ,

Add score

Điểm đã bắt đầu từ bỏ 0 Lúc trò đùa ban đầu. 1 điều sẽ được thêm lúc một sao được tích lũy. Để hiển thị điểm số, trước tiên bọn họ yêu cầu tạo một node Label. Chọn Canvas vào Node Tree , bấm chuột buộc phải với chọn Create -> Create Renderer Nodes -> Node With Label. Một node label mới sẽ được tạo nên bên dưới node Canvas. Tiếp theo, chúng tôi sẽ thực hiện công việc sau nhằm thiết lập cấu hình node label này:

Ttuyệt thay tên node thành scoreChọn node score và thiết lập position thành (0, 180)Chỉnh sửa trực thuộc tính String thành Score: 0Đặt Font Size là 50Kéo assets/mikado_outline_shadow(chú ý! Biểu tượng là
*
) vào trực thuộc tính Font của Label

*

Thêm xúc tích và ngắn gọn kiếm được điểm vào script Game

// trò chơi.js properties: // ... // reference of score label scoreDisplay: default: null, type: cc.Label ,Tiếp mang đến là khởi chế tạo điểm trong onLoad()

// Game.js onLoad: function () // ... // initialize scoring this.score = 0; ,Sau kia thêm một cách làm bắt đầu chọn cái tên gainScore :

// Game.js gainScore: function () this.score += 1; // update the words of the scoreDisplay Label this.scoreDisplay.string = "Score: " + this.score; ,

Invoke ăn điểm của trò đùa vào Star

// Star.js onPicked: function() // when the stars are being collected, invoke the interface in the Game script to lớn generate a new star this.game.spawnNewStar(); // invoke the scoring method of the Game script this.game.gainScore(); // then destroy the current star"s node this.node.destroy(); ,

Kéo các nhân tố vào ngắn gọn xúc tích game

Chọn Canvas nhìn lịch sự Properties với lưu ý phần trò chơi sẽ có những ngôi trường nhu sau

*

Đây đó là các properties ta sẽ có mang vào file trò chơi.js. Tiếp theo ta buộc phải kéo những nhân tố quan trọng vào chỗ này.

*

Sau lúc đã kéo những yếu tắc vào properties thì ta yêu cầu xóa node star bên trên Node Tree đi. Vì trong tương lai ta đã generate những star bởi Prefab đề nghị thằng node này sẽ không còn cần thiết nữa. Nếu không xóa đi nó sẽ bị hiện tượng kỳ lạ dịp như thế nào cũng đều có 2 ngôi sao sáng với một ngôi sao ko bao giờ biến mất như thế này. À một thể thể test coi hiệu quả luôn nhá

*

Xóa node star đi

*

Kết quả sẽ ok

trò chơi Over

Ta sẽ cấu hình thiết lập thời gian xuất hiện của ngôi sao sáng để triển khai sao trường đoản cú lúc ngôi sao 5 cánh được lộ diện mà 60s sau ví dụ điển hình, nhưng nó ko được tích lũy thì đã game over. Vây đầu tiên nên thêm đổi mới đếm thời gian

// Game.js onLoad: function () // ... // initialize timer this.timer = 0; this.starDuration = 0; // generate a new star this.spawnNewStar(); // initialize scoring this.score = 0; ,Sau đó thêm xúc tích đặt lại cỗ định thời vào thời điểm cuối spawnNewStar cách tiến hành, trong số ấy this.minStarDuration với this.maxStarDuration là những trực thuộc tính của trò chơi được khai báo làm việc đầu. Chúng được sử dụng để chính sách xác suất thốt nhiên của thời gian sao:

// trò chơi.js spawnNewStar: function() // ... // reset timer, randomly choose a value according the scale of star duration this.starDuration = this.minStarDuration + Math.random() * (this.maxStarDuration - this.minStarDuration); this.timer = 0; ,Thêm ngắn gọn xúc tích update bộ đếm thời gian với phán đân oán vượt quá thời lượng mang đến cách tiến hành update:

// trò chơi.js update: function (dt) // update timer for each frame, when a new star is not generated after exceeding duration // invoke the ngắn gọn xúc tích of game failure if (this.timer > this.starDuration) this.gameOver(); return; this.timer += dt; ,Cuối thuộc, thêm phương thức gameOver

// Game.js gameOver: function () this.player.stopAllActions(); //stop the jumping action of the player node cc.director.loadScene("game"); Để bạn đùa biết rằng ngồi sao chuẩn bị mất tích ta cần phải có mang đến nó một cảm giác bằng phương pháp sút opathành phố của chính nó xuống có tác dụng nó mờ dần đi.

// Star.js update: function() // ... // update the transparency of the star according lớn the timer in the trò chơi script var opacityRatio = 1 - this.game.timer/this.game.starDuration; var minOpađô thị = 50; this.node.opacity = minOpacity + Math.floor(opacityRatio * (255 - minOpacity));

Thêm cảm giác âm tkhô giòn cho Player

trò chơi mà lại yên lặng thì vô cùng khô mát, hiện giờ chúng ta vẫn thêm vào cho nó cảm giác âm tkhô giòn khi nó triển khai các hành động.

trước hết, thêm cảm giác âm thanh hao khiêu vũ. Msinh sống Player.js và thêm nằm trong tính tmê man jumpAudio

// Player.js properties: // ... // jumping sound effect resource jumpAudio: default: null, type: cc.Audiođoạn phim , ,Sau kia viết lại thủ tục setJumpAction cyếu cuộc Gọi lại nhằm vạc hiệu ứng âm tkhô nóng cùng vạc âm thanh hao bằng cách thêm cách tiến hành playJumpSound

// Player.js setJumpAction: function () // jump up var jumpUp = cc.moveBy(this.jumpDuration, cc.v2(0, this.jumpHeight)).easing(cc.easeCubicActionOut()); // jump down var jumpDown = cc.moveBy(this.jumpDuration, cc.v2(0, -this.jumpHeight)).easing(cc.easeCubicActionIn()); // add a callbaông xã function to invoke other defined methods after the action is finished var callbaông xã = cc.callFunc(this.playJumpSound, this); // repeat unceasingly, & invoke callbaông xã to play sound after landing each time return cc.repeatForever(cc.sequence(jumpUp, jumpDown, callback)); , playJumpSound: function () // invoke sound engine lớn play the sound cc.audioEngine.playEffect(this.jumpAudio, false); ,

Hiệu ứng âm tkhô hanh lúc ghi điểm

Thêm ở trong tính âm thanh ăn điểm vào Game.js

// Game.js properties: // ... // scoring sound effect resource scoreAudio: default: null, type: cc.Audiovideo clip ,Sau kia ckém vào phương thức gainScore

// trò chơi.js gainScore: function () this.score += 1; // update the words of the scoreDisplay Label this.scoreDisplay.string = "Score: " + this.score.toString(); // play the scoring sound effect cc.audioEngine.playEffect(this.scoreAudio, false); ,Tiếp mang lại làm tựa như nlỗi kéo cá thành phần, giờ ta đã kéo những tệp tin audio vào ô ở trong tính khớp ứng.

*

*

*

Đã hoàn chỉnh giờ đồng hồ chúng ta thử trả nghiệm thôi

Build cùng Deploy

Build

Phần Build của chính nó cực kỳ đơn giản. Chọn Project -> chọn Build

*

Tiếp đén lựa chọn Build cùng chờ tkhô hanh Build...

Xem thêm: Thinkpad Là Gì ? Các Dòng Thinkpad Lenovo Nào Tốt Nhất Hiện Nay?

hiện tại conpleted là được

*

*

Vậy là đã build ngừng giờ đồng hồ rất có thể chạy thử hiệu quả build bằng cách chọn Play

Deploy

Để dễ dàng hóa việc deploy họ đã sử dụng surge: https://surge.sh/

*

insttall khôn xiết đơn giản

npm install --global surgesau thời điểm sẽ cài đặt ta vẫn vào thư mục nhưng vừa nãy ta build ra với mnghỉ ngơi terminal

*

Chạy lệnh surge

*

Sau kia tùy chỉnh cấu hình thương hiệu tên miền là xong

*

Và đó là hiệu quả :http://gamestar.surge.sh/

Tổng kết

Đến trên đây có lẽ rằng đều người đã biết phương pháp làm thế nào để làm hầu hết game dễ dàng và đơn giản cùng với Cocos Creator rồi. Còn nếu muốn tạo ra phần nhiều game phức hợp hơn thì cần được gọi docs với tìm hiểu thêm từ bỏ phần nhiều sản phẩm đi trước không hề ít nữa. Cảm ơn các bạn vẫn quan tâm mang đến bàì viết, cực kỳ vui với hứa gặp lại ở phần lớn bài viết tiếp theo.

Nếu chúng ta gồm hứng trúc với game socket hoàn toàn có thể tham khảo game mà lại bản thân cùng các bạn trong team vẫn làm cho. Nó gồm tích hòa hợp sử dụng cả websocket để đùa cùng blockchain để lưu lại tác dụng đề nghị, mặc dù khá sơ dùng tuy thế chắc chắn rằng để giúp đỡ được ai đó nếu như đề nghị. Và nhất là thằng này không hỗ chợ SocketIO nếu như muốn tích hợp sẽ tương đối khó khăn theo như docs của chính nó tất cả nói vậy, phải mình đành bùi ngùi áp dụng Websocket. Đây là links game và cần phải có ví metamask new đùa được nha:https://github.com/ngovannghia1997kma/HeadBall2


Chuyên mục: KHÁI NIỆM LÀ GÌ
Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *