Trò chơi trực tuyến sử dụng JavaScript

Xin chào mọi người, hôm nay mình sẽ viết về cách tạo một trò chơi trực tuyến nhiều người chơi đơn giản. Đến cuối hướng dẫn này, bạn sẽ có một máy chủ chức năng nơi người chơi có thể kết nối và lái xe xung quanh, sẽ chỉ có các tính năng cơ bản và bạn sẽ học cách tạo tất cả những thứ này từ đầu, có đủ chỗ để mở rộng càng nhiều càng tốt.

Bạn có thể kiểm tra trò chơi tại đây, nếu không có người chơi trực tuyến, chỉ cần tham gia bằng hai tab khác nhau

https. //trò chơi xe đơn giản. herokuapp. com/

Xin lưu ý rằng mã của tôi không hoàn hảo ở bất cứ đâu, nhưng tôi đảm bảo với bạn rằng tôi đang làm việc và học tập chăm chỉ để trở nên tốt hơn hết mức có thể, vì vậy nếu bạn thấy điều gì đó bạn muốn làm khác đi, đừng ngần ngại

Bạn có thể kiểm tra kho lưu trữ GitHub của dự án này tại đây

Cấu hình dự án

Chúng tôi sẽ bắt đầu bằng cách định cấu hình dự án của mình, vì vậy hãy tạo một thư mục ở đâu đó có tên

/node_modules/
8 [hoặc bất kỳ tên nào bạn muốn]

Truy cập nó bằng Dòng lệnh/Powershell/Bash hoặc bất kỳ thứ gì bạn sử dụng và chạy

/node_modules/
9 trả lời các câu hỏi được nhắc cho bạn

Bây giờ hãy cài đặt một vài phụ thuộc

chạy

npm i --save-dev babel-cli babel-core babel-loader babel-preset-env babel-register html-webpack-plugin nodemon webpack uglifyjs-webpack-plugin@1.1.6

để cài đặt các phụ thuộc phát triển của chúng tôi

và chạy để cài đặt các phụ thuộc của chúng tôi

npm i --save body-parser cors express socket.io

Bây giờ hãy mở tệp

npm i --save body-parser cors express socket.io
0 của bạn và hãy thêm một vài tập lệnh

"scripts": {
"build": "webpack --progress --colors",
"dev": "nodemon client/server.js --exec babel-node"
},

Bây giờ trên thư mục gốc của bạn, hãy tạo một tệp mới có tên

npm i --save body-parser cors express socket.io
1 và chỉ cần thêm

/node_modules/

điều này sẽ ngăn node_modules được đẩy vào kho git của bạn

Tạo một tệp mới có tên là

npm i --save body-parser cors express socket.io
2

Điều này sẽ cho phép chúng tôi sử dụng các tính năng của ES6 và cũng sẽ đóng gói trò chơi của chúng tôi trong một thư mục

npm i --save body-parser cors express socket.io
3

Chuyển đến thư mục gốc của chúng tôi và tạo một thư mục có tên

npm i --save body-parser cors express socket.io
0 và thêm tệp
npm i --save body-parser cors express socket.io
1 từ kho lưu trữ

Khách hàng

Bây giờ trên thư mục gốc của bạn, hãy tạo một thư mục khác, lần này đặt tên là

npm i --save body-parser cors express socket.io
2 và thêm hai tệp vào bên trong thư mục đó

mục lục. html

Ở đây, chúng tôi đặt lại lề của trang và thêm hai tập lệnh, phaser và ổ cắm của chúng tôi. io được lấy từ máy chủ

mục lục. js

Thao tác này sẽ bắt đầu trò chơi của chúng ta, đặt độ phân giải màn hình bên trong chức năng

npm i --save body-parser cors express socket.io
3 của chúng ta

bây giờ đừng lo lắng về việc nhập khẩu

npm i --save body-parser cors express socket.io
4

Bên trong thư mục

npm i --save body-parser cors express socket.io
2 của bạn, hãy tạo cấu trúc thư mục sau

thư mục tài sản

Bạn có thể tìm thấy cả hai hình nhân vật ở đây, tôi đã tự tạo hình nhân vật

npm i --save body-parser cors express socket.io
6 và lấy hình nhân vật nhân vật
npm i --save body-parser cors express socket.io
7 từ tìm kiếm trên internet về "ô tô điểm ảnh từ trên xuống miễn phí", nếu chủ sở hữu/người tạo thực sự của hình nhân vật xe hơi muốn ghi công hoặc để tôi gỡ nó xuống chỉ

Bên trong thư mục

npm i --save body-parser cors express socket.io
2 của bạn, tạo một thư mục khác có tên là
npm i --save body-parser cors express socket.io
9 với hai tệp có tên là
"scripts": {
"build": "webpack --progress --colors",
"dev": "nodemon client/server.js --exec babel-node"
},
0 và
"scripts": {
"build": "webpack --progress --colors",
"dev": "nodemon client/server.js --exec babel-node"
},
1

mục lục. js

trình tải tệp. js

Ở đây, chúng tôi xác định màu nền mặc định cho canvas của trò chơi và chúng tôi cũng tải hai họa tiết.

npm i --save body-parser cors express socket.io
6 và
npm i --save body-parser cors express socket.io
7

Bây giờ hãy tạo một thư mục mới bên trong thư mục

npm i --save body-parser cors express socket.io
2 của chúng tôi có tên là
"scripts": {
"build": "webpack --progress --colors",
"dev": "nodemon client/server.js --exec babel-node"
},
5 và bên trong thư mục mới này, chúng tôi sẽ tạo một vài thư mục khác

  • thế giới
  • đồ dùng
  • ổ cắm
  • phỏng đoán
  • người chơi

Vì vậy, hãy bắt đầu bằng thư mục

"scripts": {
"build": "webpack --progress --colors",
"dev": "nodemon client/server.js --exec babel-node"
},
6. Tạo một tệp có tên
"scripts": {
"build": "webpack --progress --colors",
"dev": "nodemon client/server.js --exec babel-node"
},
7 bên trong nó

Bây giờ hãy tạo thư mục

"scripts": {
"build": "webpack --progress --colors",
"dev": "nodemon client/server.js --exec babel-node"
},
8 và một tệp có tên
"scripts": {
"build": "webpack --progress --colors",
"dev": "nodemon client/server.js --exec babel-node"
},
1 bên trong thư mục đó

Đó là thư mục

"scripts": {
"build": "webpack --progress --colors",
"dev": "nodemon client/server.js --exec babel-node"
},
8, hãy tạo thư mục
/node_modules/
1

người chơi mới. js

Chúng tôi sử dụng sự kiện ổ cắm này để phát ra máy chủ của mình rằng chúng tôi đang tạo một người chơi mới trong trò chơi của mình

cập nhậtNgười chơi. js

Chúng tôi sử dụng sự kiện ổ cắm này để cập nhật tất cả các vị trí và dữ liệu của người chơi

Bây giờ trên thư mục

/node_modules/
2, hãy tạo một tệp có tên
/node_modules/
3

Đây sẽ là phép nội suy duy nhất chúng ta sẽ thực hiện

Bây giờ hãy tạo một thư mục có tên

/node_modules/
4 sẽ chứa hai tệp

tạoPlayer. js

Ở đây, chúng tôi thêm nhân vật

npm i --save body-parser cors express socket.io
7 của mình vào trò chơi và kích hoạt tính năng vật lý cho trò chơi

mục lục. js

Trong tệp này, cuối cùng chúng tôi đã chỉ định một nhân vật cho trình phát của mình, cung cấp cho anh ta một số thuộc tính và giúp anh ta có thể lái xe xung quanh

Bây giờ, hãy chuyển đến thư mục

"scripts": {
"build": "webpack --progress --colors",
"dev": "nodemon client/server.js --exec babel-node"
},
5 của bạn và tạo một tệp có tên
/node_modules/
7

Thư mục khách hàng của bạn sẽ trông như thế này

thư mục khách hàng

Chúng tôi đã hoàn thành với thư mục khách hàng

Người phục vụ

Bây giờ chúng ta cần xử lý máy chủ của trò chơi, vì vậy hãy tạo một thư mục có tên là

/node_modules/
8 và thêm một thư mục có tên là
npm i --save body-parser cors express socket.io
9 vào bên trong thư mục đó và trong thư mục gốc của
/node_modules/
8, hãy thêm một tệp có tên là
"scripts": {
"build": "webpack --progress --colors",
"dev": "nodemon client/server.js --exec babel-node"
},
1

thư mục máy chủ

Bên trong thư mục cấu hình, tạo một tệp mới có tên

"scripts": {
"build": "webpack --progress --colors",
"dev": "nodemon client/server.js --exec babel-node"
},
1

Và bên trong thư mục gốc của máy chủ

"scripts": {
"build": "webpack --progress --colors",
"dev": "nodemon client/server.js --exec babel-node"
},
1

Đó là hướng dẫn này, chúng tôi đã tạo một trò chơi trực tuyến nhiều người chơi cơ bản, nơi người chơi có thể kết nối và lái xe xung quanh, chúng tôi cũng hiển thị tên của người chơi [là id ổ cắm của anh ấy] và tốc độ hiện tại của anh ấy

Nếu bạn thích hướng dẫn ngắn này, hãy theo dõi tôi trên medium hoặc github và gắn dấu sao cho kho lưu trữ. Đừng quên kiểm tra sớm vì tôi sẽ làm thêm những việc này

Tôi có thể tạo trò chơi bằng JavaScript không?

JavaScript có thể được sử dụng để phát triển nhiều loại trò chơi khác nhau. Và các trò chơi được tạo bằng JavaScript có thể chạy trên hầu hết mọi thiết bị có trình duyệt web

Bạn có thể tạo trò chơi 2D bằng JavaScript không?

JavaScript có thể là ngôn ngữ lập trình tốt đáng ngạc nhiên để sử dụng để tạo trò chơi 2D . Đặc biệt là các trò chơi bạn muốn có thể chơi được trên hầu hết mọi thiết bị. Chúng tôi vừa xuất bản một khóa học trên freeCodeCamp. org Kênh YouTube sẽ hướng dẫn bạn cách viết mã trò chơi 2D bằng JavaScript, HTML, CSS và HTML Canvas.

JavaScript có tốt cho trò chơi 3D không?

js là một trong những công cụ trò chơi 3D phổ biến nhất được các nhà phát triển sử dụng . Như với bất kỳ thư viện 3D nào khác, nó cung cấp các chức năng tích hợp để giúp bạn triển khai chức năng 3D phổ biến nhanh hơn.

Bạn có thể sử dụng JavaScript cho trò chơi di động không?

Có, chúng tôi có thể sử dụng JavaScript để tạo ứng dụng Android . Nhưng chỉ nó không đủ để phát triển ứng dụng và nó nên được sử dụng với một số ngôn ngữ khác như HTML, CSS. JavaScript là ngôn ngữ chủ yếu được sử dụng để tạo và kiểm soát các trang web.

Chủ Đề