Làm Game 2D Với Javascript Thuần (phần 1) - DVMS

Welcome to DVMS Co.,Ltd Click to listen highlighted text! Welcome to DVMS Co.,Ltd Powered By DVMS co.,ltd Kính mời quý khách like fanpage ủng hộ DVMS Kính mời quý khách đăng ký nhận clip từ Chuyển đổi số TV https://www.youtube.com/c/SolutionMobile, Chân thành cảm ơn quý khách! Kính chúc quý khách thật nhiều năng lượng! DVMS Co., Ltd DVMS Co.,Ltd
Hotline

02836028937

Email

[email protected]

  • Tiếng Việt
  • English
Blogs

Làm game 2D với Javascript thuần (phần 1)

Blogs Blogs công nghệ

PHẦN HTML

Trước hết, chúng ta sẽ xây dựng khung HTML để có thể render game này.

DEMO : https://jsfiddle.net/erajpypL/

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>DUONG-GAME STUDIO</title> <style> * { padding: 0; margin: 0; } canvas { background: #eee; display: block; margin: 0 auto; } </style> </head> <body> <canvas id="myCanvas" width="480" height="320"></canvas> <script> // Code JavaScript </script> </body> </html>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 < ! DOCTYPE html > < html > < head > < meta charset = "utf-8" / > < title > DUONG - GAME STUDIO < / title > <style> * { padding : 0 ; margin : 0 ; } canvas { background : #eee ; display : block ; margin : 0 auto ; } </style> < / head > < body > < canvas id = "myCanvas" width = "480" height = "320" > < / canvas > <script> // Code JavaScript </script> < / body > < / html >

Khá đơn giản phải ko? Nguyên nhân là game sẽ được render toàn bộ vào thẻ <canvas>.

CANVAS CƠ BẢN

Trước hết, bàn cần phải lấy được thẻ <canvas> trong body của html bằng Javascript. Hãy làm theo bước sau :

var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext("2d");
1 2 3 4 var canvas = document . getElementById ( "myCanvas" ) ; var ctx = canvas . getContext ( "2d" ) ;

Biến ctx được tạo để lưu lại nội dung render 2D.

Dưới đây là 1 ví dụ cơ bản về việc vẽ 1 hình vuông bằng canvas.

ctx.beginPath(); ctx.rect(20, 40, 50, 50); ctx.fillStyle = "#FF0000"; ctx.fill(); ctx.closePath();
1 2 3 4 5 6 7 ctx . beginPath ( ) ; ctx . rect ( 20 , 40 , 50 , 50 ) ; ctx . fillStyle = "#FF0000" ; ctx . fill ( ) ; ctx . closePath ( ) ;

Tất cả mọi hướng dẫn sẽ nằm trong 2 methods beginPath()closePath(). Chúng ta đang định nghĩa một hình vuông sử dụng rect() : 2 giá trị đầu tiên cho thấy tọa độ của góc trên cùng bên trái của hình vuông đó, trong khi 2 giá trị tiếp theo thì định nghĩa chiều rộng và cao của hình vuông. Thuộc tính fillStyle định nghĩa màu sẽ đc sử dụng trong phương thức fill() tiếp theo để vẽ hình vuông này.

Tất nhiên ko chỉ giới hạn ở hình vuông hay chữ nhật. Chúng ta còn có thể vẽ cả hình tròn màu xanh với đoạn code dưới đây.

ctx.beginPath(); ctx.arc(240, 160, 20, 0, Math.PI*2, false); ctx.fillStyle = "green"; ctx.fill(); ctx.closePath();
1 2 3 4 5 6 7 ctx . beginPath ( ) ; ctx . arc ( 240 , 160 , 20 , 0 , Math . PI* 2 , false ) ; ctx . fillStyle = "green" ; ctx . fill ( ) ; ctx . closePath ( ) ;

Bạn cũng có thê sử dụng stroke() thay vì fill(). Hàm này sẽ cho phép bạn tô màu mỗi phần viền của hình thay vì tô màu hết cả hình đó.

ctx.beginPath(); ctx.rect(160, 10, 100, 40); ctx.strokeStyle = "rgba(0, 0, 255, 0.5)"; ctx.stroke(); ctx.closePath();
1 2 3 4 5 6 7 ctx . beginPath ( ) ; ctx . rect ( 160 , 10 , 100 , 40 ) ; ctx . strokeStyle = "rgba(0, 0, 255, 0.5)" ; ctx . stroke ( ) ; ctx . closePath ( ) ;

ĐỊNH NGHĨA MỘT DRAWING LOOP

Vậy là bạn đã biết cách vẽ 1 quả bóng và những hình vuông rồi. Nào tiếp tục là hãy làm cho chúng có thể di chuyển được. Về mặt kĩ thuật, chúng ta sẽ vẽ quả bóng trên màn hình, xóa nó và vẽ nó lại lần nữa trong một vị trí gần gần với vị trí vừa rồi cho mỗi frame khác nhau. Việc này sẽ khiến cho bạn cảm giác sự di chuyển của nó. Đại ý là nó giống kiểu làm film ấy.

Để có thể update canvas vẽ trên mỗi frame, chúng ta cần định nghĩa một function chạy đi chạy lại. Rất may mắn là Javascript cung cấp cho bạn loại hàm này setInterval()requestAnimationFrame().

Cho đoạn code sau vào phần thẻ <script>. Hàm draw() sẽ được thực thi mỗi 10 mili giây.

function draw() { // drawing code } setInterval(draw, 10);
1 2 3 4 5 6 function draw ( ) { // drawing code } setInterval ( draw , 10 ) ;

Nào trước hết bạn hãy vẽ thử một quả bóng. Chú ý xóa hết mấy cái hình ở mục bên trên trước đi nhé.

ctx.beginPath(); ctx.arc(50, 50, 10, 0, Math.PI*2); ctx.fillStyle = "#0095DD"; ctx.fill(); ctx.closePath();
1 2 3 4 5 6 7 ctx . beginPath ( ) ; ctx . arc ( 50 , 50 , 10 , 0 , Math . PI* 2 ) ; ctx . fillStyle = "#0095DD" ; ctx . fill ( ) ; ctx . closePath ( ) ;

MAKE IT MOVEEEE

Bạn sẽ thấy rằng ở trên bạn đang hard code vị trí của quả bóng là (50, 50) và cho dù frame đó đc vẽ đi vẽ lại liên tục mỗi 10 mili giây thì bạn cung sẽ ko thấy nó di chuyển. Hãy suy nghĩ cách định nghĩa vị trí khác. (x, y) này là tọa độ của tâm quẩ bóng nhé.

var x = canvas.width/2; var y = canvas.height-30;
1 2 3 4 var x = canvas . width / 2 ; var y = canvas . height - 30 ;

Tiếp, mình định nghĩa 2 giá trị dxdy thể hiện cho sự thay đổi giá trị xy khi quả bóng di chuyển. Việc này giống ngày xưa các bạn học về đạo hàm này nọ hổi cấp 3 ấy.

var dx = 2; var dy = -2;
1 2 3 4 var dx = 2 ; var dy = - 2 ;

Cuối cũng, viết lại hàm draw() như sau. Chú ý giá trị xy sẽ được update mỗi lần frame thay đổi.

function draw() { ctx.beginPath(); ctx.arc(x, y, 10, 0, Math.PI*2); ctx.fillStyle = "#0095DD"; ctx.fill(); ctx.closePath(); x += dx; y += dy; }
1 2 3 4 5 6 7 8 9 10 11 function draw ( ) { ctx . beginPath ( ) ; ctx . arc ( x , y , 10 , 0 , Math . PI* 2 ) ; ctx . fillStyle = "#0095DD" ; ctx . fill ( ) ; ctx . closePath ( ) ; x += dx ; y += dy ; }

Xóa canvas trước khi vẽ frame mới

Bạn sẽ thấy ở trên bạn có 1 vệt ảnh dài tạo thành đường thẳng, nguyên nhân mình vẫn chưa xóa các nội dung canvas được vẽ trước đó. Hãy dùng hàm clearRect(). Add hàm này vào hàm draw() như sau.

function draw() { ctx.clearRect(0, 0, canvas.width, canvas.height); ctx.beginPath(); ctx.arc(x, y, 10, 0, Math.PI*2); ctx.fillStyle = "#0095DD"; ctx.fill(); ctx.closePath(); x += dx; y += dy; }
1 2 3 4 5 6 7 8 9 10 11 12 function draw ( ) { ctx . clearRect ( 0 , 0 , canvas . width , canvas . height ) ; ctx . beginPath ( ) ; ctx . arc ( x , y , 10 , 0 , Math . PI* 2 ) ; ctx . fillStyle = "#0095DD" ; ctx . fill ( ) ; ctx . closePath ( ) ; x += dx ; y += dy ; }

CLEAN CODE

Chú ý đoạn code ở trên cần viết lại theo hướng đẹp hơn nhé. Nếu ko bạn sẽ bị các reviewer comment đấy ?

CLEAN CODE Chú ý đoạn code ở trên cần viết lại theo hướng đẹp hơn nhé. Nếu ko bạn sẽ bị các reviewer comment đấy :D
1 2 3 4 5 CLEAN CODE Chú ý đ on codetrê n cn viế t li theo hướ ng đẹ p hơ n nhé . Nế u ko bn sbcá c reviewer comment đấ y : D

DETECT SỰ VA CHẠM

Collision là 1 khái niệm cơ bản của việc làm game. Mình sẽ tính toán thử xem liệu quả bóng có chạm vào tường ko ? Và nếu chạm vào thì nó sẽ bật ra như thế nào nhé ?

Trước hết định nghĩa biến ballRadius làm bán kính quả bóng.

var ballRadius = 10;
1 2 3 var ballRadius = 10 ;

Tiếp mình update lại hàm vẽ bóng

ctx.arc(x, y, ballRadius, 0, Math.PI*2);
1 2 3 ctx . arc ( x , y , ballRadius , 0 , Math . PI* 2 ) ;

Haiz. Bước tiếp theo phải dùng một chút kiến thức toán rồi.

Bóng di chuyển lên và xuống

Ở đây mình có 4 bức tường, đầu tiên focus vào cái trên cùng trước nhé. Trên bất kì frame nào mình cũng phải check xem bóng đã chạm tường ở trên chưa. Nếu YES thì cho bóng di chuyển ngược lại.

if(y + dy < 0) { dy = -dy; }
1 2 3 4 5 if ( y + dy < 0 ) { dy = - dy ; }

Tiếp sẽ là cạnh dưới (tường dưới nhé). Cùng 1 tư tưởng thôi.

if(y + dy > canvas.height) { dy = -dy; }
1 2 3 4 5 if ( y + dy > canvas . height ) { dy = - dy ; }

OK, vậy mình sẽ có đoạn code như sau

if(y + dy > canvas.height || y + dy < 0) { dy = -dy; }
1 2 3 4 5 if ( y + dy > canvas . height || y + dy < 0 ) { dy = - dy ; }

Bóng di chuyển trái và phải

Cũng tương tự với tư tưởng bóng trên xuống, nhưng lần này là với trục x. Ta sẽ có đoạn code sau .

if(x + dx > canvas.width || x + dx < 0) { dx = -dx; }
1 2 3 4 5 if ( x + dx > canvas . width || x + dx < 0 ) { dx = - dx ; }

Nếu bạn sử dụng đoạn code trên để chạy thì sẽ gặp hiện tượng là bóng bị ẩn 1 nửa sau tường. Cái này dễ hiểu là vif mình đang tính toán collision giữa tường và tâm bóng, trong khi đáng lẽ phải là viền quả bóng nhỉ ? Thử update code như sau đây và sẽ thấy nó chạy rất ngon

if(x + dx > canvas.width-ballRadius || x + dx < ballRadius) { dx = -dx; } if(y + dy > canvas.height-ballRadius || y + dy < ballRadius) { dy = -dy; }
1 2 3 4 5 6 7 8 if ( x + dx > canvas . width - ballRadius || x + dx < ballRadius ) { dx = - dx ; } if ( y + dy > canvas . height - ballRadius || y + dy < ballRadius ) { dy = - dy ; }

Các bạn tiếp tục theo dõi phần 2 nhé.

(viblo.asia)

Có thể bạn quan tâm:
  • Quy chế về sử dụng xe ô tô của HỌC VIỆN HÀNG KHÔNG VIỆT NAM
  • Số hotline cứu hộ đường bộ tại các tỉnh thành
  • Địa chỉ các hãng tàu biển quốc tế tại TP.HCM
  • THỦ TỤC NHẬP KHẨU MÁY MÓC CŨ VÀ THỦ TỤC NHẬP KHẨU MÁY MÓC MỚI
  • Bạn biết những gì về nghề lái xe đường dài?
  • Nội dung hoạt đông và vai trò của hoạt động nhập khẩu
  • Nghề Thu mua (Purchasing) trong lĩnh vực vận tải, logistics
  • Danh sách website B2B phục vụ xuất nhập khẩu, logistics
  • Thuật ngữ hàng hải (Shipping Glossary) "A"
  • Triển khai hệ thống taxi công nghệ, điều hành vận tải thông minh, ứng dụng đặt xe thông minh trên smartphone,... dễ dàng và tiết kiệm qua Vrada
  • Cross-docking và milk-run trong logistics
  • Thủ tục nhập khẩu bông thủy tinh và vận chuyển bông thủy tinh

DVMS chuyên: - Tư vấn, xây dựng, chuyển giao công nghệ Blockchain, mạng xã hội,... - Tư vấn ứng dụng cho smartphone và máy tính bảng, tư vấn ứng dụng vận tải thông minh, thực tế ảo, game mobile,... - Tư vấn các hệ thống theo mô hình kinh tế chia sẻ như Uber, Grab, ứng dụng giúp việc,... - Xây dựng các giải pháp quản lý vận tải, quản lý xe công vụ, quản lý xe doanh nghiệp, phần mềm và ứng dụng logistics, kho vận, vé xe điện tử,... - Tư vấn và xây dựng mạng xã hội, tư vấn giải pháp CNTT cho doanh nghiệp, startup,...

Vì sao chọn DVMS? - DVMS nắm vững nhiều công nghệ phần mềm, mạng và viễn thông. Như Payment gateway, SMS gateway, GIS, VOIP, iOS, Android, Blackberry, Windows Phone, cloud computing,… - DVMS có kinh nghiệm triển khai các hệ thống trên các nền tảng điện toán đám mây nổi tiếng như Google, Amazon, Microsoft,… - DVMS có kinh nghiệm thực tế tư vấn, xây dựng, triển khai, chuyển giao, gia công các giải pháp phần mềm cho khách hàng Việt Nam, USA, Singapore, Germany, France, các tập đoàn của nước ngoài tại Việt Nam,… Quý khách xem Hồ sơ năng lực của DVMS tại đây >> Quý khách gửi yêu cầu tư vấn và báo giá tại đây >>

Tags: STartup
  • Facebook
  • Twitter

Nhiều người quan tâm

  • Các nền tảng công nghệ hỗ trợ cho KHỞI NGHIỆP và CHUYỂN ĐỔI SỐ tiết kiệm, hiệu quả,...
  • 5 lý do sở hữu một ứng dụng di động là cần thiết đối với doanh nghiệp vừa và nhỏ
  • Top danh sách hơn 300 website submit PR cao
  • Hệ thống điều hành, tìm gọi và quản lý xe sử dụng công nghệ mới
  • Khắc phục lỗi đăng nhập Windows 10, không thể login vào Windows 10
  • Mạng xã hội là gì? Hiểu đầy đủ nhất về mạng xã hội
  • 100 Website đặt backlink miễn phí chất lượng
  • Danh sách 6.500 website mua bán rao vặt, tốt để quảng cáo, SEO và tạo backlink
  • Gần 700 forum, trang rao vặt giúp tăng độ phủ quảng cáo, SEO, Backlink
  • Ứng dụng bán hàng trên smartphone, smart TV, mạng xã hội...
  • IoT là gì? ứng dụng của IoT trong cuộc sống hiện đại
  • Hướng dẫn cài ứng dụng, phần mềm cho Android trực tiếp bằng tập tin APK

Next >>

ứng dụng quản lý vận tải thông minh

ứng dụng quản lý đội xe, điều tài thông minh

Phần mềm, ứng dụng thông minh dành cho quản lý xe doanh nghiệp, điều xe đi công tác,...

SGO Giải pháp thông minh cho các công ty vận chuyển, logistics thuê ngoài

fintech

banking mobile apps

insurtech

medical tech, health care mobile apps

Giải pháp cho doanh nghiệp

  • SSale Hệ thống quản lý phân phối, bán hàng, chăm sóc khách hàng tối ưu
  • App hẹn lịch chăm sóc sắc đẹp, book vé spa, massage
  • Phần mềm quản lý cho thuê xe ô tô thường có những tính năng gì?
  • SChat là lựa chọn tuyệt vời nhất để trò chuyện và chăm sóc khách hàng của bạn
  • Hệ thống đánh giá đại lý, chi nhánh, cửa hàng SKPI ( hệ thống đánh giá thông minh trên smartphone và tablet)
  • Tối ưu giải pháp cho các công ty bảo hiểm
  • Phần mềm quản lý xe thường có những tính năng gì?
  • Bán vé máy bay thông qua smartphone và tablet, smart TV
  • VIP Finance Hệ Sinh Thái phân tích đánh giá cổ phiếu, trái phiếu, thị trường vàng, thị trường forex
  • Hệ thống chấm công từ xa thông minh SAttendance và hệ thống định vị STracking
  • Nhà thông minh, tích hợp vi mạch
  • VIP ECOM Hệ Sinh Thái Thương Mại Điện Tử, Tài Chính, Tiền Điện Tử, Đa Cấp...

Giải pháp cho khởi nghiệp

  • Chat, nhắn tin, gọi điện, đàm thoại
  • Điều hành taxi, ứng dụng gọi xe trên smartphone
  • Ứng dụng smartphone và tablet cho ngành du lịch, travel, team building
  • Gọi GAS chỉ với một nút bấm trên smartphone
  • Mua bán rau củ quả, nông sản trên smrtphone và tablet
  • App chăm sóc thú cưng, dịch vụ thú y
  • Giải pháp Blockchain và câu chuyện minh bạch hóa tiền công đức
  • Tìm giúp việc, sửa điện nước, dịch vụ tại nhà,...
  • Hệ thống order chuyên nghiệp cho quán ăn, cafe, nhà hàng,...
  • Ứng dụng công nghệ vào giáo dục (Edu Tech)
  • Ứng dụng quản lý garage trên smartphone và tablet
  • Đặt món dễ dàng

App hữu ích

  • Kiểm tra thực phẩm VietGAP trên smartphone
  • app SOS, gọi khẩn đường dây nóng khi gặp nạn, cháy nổ, nguy hiểm tính mạng, cấp cứu, cứu hộ,...tại Việt Nam
  • Tra cứu thông tin doanh nghiệp tại Việt Nam
  • Tra cứu thông tin đăng kiểm cơ giới
  • Quản lý chi tiêu, thu/chi kinh doanh, tài chính cá nhân,... trên smartphone
  • Quản lý bán hàng thông minh
  • Ứng dụng bất động sản
  • Ứng dụng bảo hiểm
  • Ứng dụng bác sĩ gia đình
  • Quản lý bệnh viện, phòng khám
  • Chăm sóc khách hàng bệnh viện, phòng khám
  • Ứng dụng đặt vé xe
  • Ứng dụng vận tải
  • QL dược, nhà thuốc, Kho thuốc
  • Ứng dụng quản lý tiệm Nail
  • Smart Catalog, Catalog trên smartphone
  • Ứng dụng Smart Control
  • KPI thông minh trên smartphone
  • Ứng dụng Smart Shop
  • Quản lý văn bản trên smartphone
  • Ứng dụng Tracking
  • Ứng dụng Y tế, sức khỏe
  • Quản lý bệnh viện, phòng khám
  • Ứng dụng Cùng Vui
  • Ứng dụng Gọi xe
  • Ứng dụng Kiểm soát đường huyết
  • Ứng dụng Quản lý xe cá nhân
  • Ứng dụng kiểm tra sức khỏe, ngày sinh
  • Ứng dụng Du lịch
  • Ứng dụng Giao vận, Logistic, Ship, Transporter, Cargo
  • Ứng dụng Giáo dục
  • Ứng dụng kinh doanh Nông sản
  • Ứng dụng Tổng đài Voip
  • Triển khai Mạng xã hội
  • Ứng dụng Bảo hiểm, Insurtech
  • Tài chính, Ngân hàng, Fintech
  • Tạo QR Code miễn phí
  • Giải pháp Giáo dục đào tạo
  • Ứng dụng Quản lý Ki ốt
  • Ứng dụng tra cứu VietGAP
  • Youtube channel
  • Quảng cáo trên mobile
  • Smart web
  • Dịch vụ sao y website
  • website mua hàng theo nhóm
  • Blockchain | Chuỗi khối
  • Big Data
  • Giao thông, Giao vận, Logistics
  • Ứng dụng Bí ẩn vũ trụ
  • Ứng dụng Đặt món
  • Ứng dụng OTT, Bộ đàm, chat, nhắn tin
  • Ứng dụng Beer Club
  • Quản lý Garage thông minh
  • Giải pháp truyền hình thông minh
  • Auto chat Bot

Thế hệ số

  • Hệ thống lái xe thông minh hoạt động như nào, #oto
  • Những sản phẩm công nghệ có trong #smartphone
  • Cấu tạo của tai nghe Bluetooth, #smartphone
  • DVMS.VN
  • Cách hoạt động của sợi quang, #DVMS
  • Cách hoạt động của con chip, #DVMS
  • 4G to 5G on #smartphone, #DVMS
  • How to bypass #smartphone password, #DVMS
  • Recover gmail password easily with a few simple steps on smartphone, #DVMS
  • Đèn năng lượng mặt trời, cách lắm đặt đúng cách, tiết kiệm, dùng lâu
  • Hướng dẫn cài đặt yahoo,outlook,hotmail... không cần cài thêm app, DVMS
  • Cách cho hiện thư mục bị virus ẩn đi, #DVMS
  • Cách chặn tự động cuộc gọi từ người là , DVMS
  • Cách chỉnh sửa video ngắn trên facebook, DVMS
  • Cách like fanpage mới, DVMS
  • Creative 625
  • Smartphone, Tablet 370
  • iOS, iPhone app, iPad app 465
  • Mobile Application 1038
  • STartup 688
  • Art 104
  • Android Application 445
  • Uber for x, Location based service (LBS) 232
  • Traffic, Logistics, Ship 45
  • Economy 143
  • Money 122
  • outsourcing 1132

CTY TNHH DVMS

Mời quý vị tham khảo hồ sơ năng lực của DVMS tại đây >>

Head Office: 95/2/26 Bình Lợi, P.Bình Lợi Trung, TP.HCM, Việt Nam.Tel: 02836028937 Email: [email protected]

BạnCầnGìCứHỏiDVMS: Chuyển đổi số giao thông, vận tải, giao nhận thông minh ; Giải pháp Blockchain ; Tư vấn, xây dựng, chuyển giao mạng xã hội ; Dịch vụ dữ liệu, Big data ; Uber Giúp việc, uber dịch vụ tại nhà ; Chuyển đổi số cho bệnh viện, y tế ; Chuyển đổi số Bác sĩ gia đình, y tế tại nhà ; Chuyển đổi số cho công ty tín dụng, ngân hàng, Fintech ; Chuyển đổi số cho công ty bảo hiểm ; Chuyển đổi số bán hàng, quản lý hệ thống phân phối ; Chuyển đổi số lĩnh vực du lịch; Chuyển đổi số lĩnh xăng dầu, gas; Giải pháp OTT; Chuyển đổi số nhà thuốc và công ty dược; Chuyển đổi số doanh nghiệp taxi; Chuyển đổi số doanh nghiệp vận tải; Chuyển đổi số dịch vụ tại nhà; Chuyển đổi số nông nghiệp; Giải pháp QRCODE ; Đào tạo chuyển đổi số, xây dựng đội ngũ CNTT cho doanh nghiệp và start-up; Giải pháp chăm sóc sức khỏe tại nhà ; ứng dụng định vị vệ tinh vào cuộc sống;Giải pháp truyền hình; thực tế ảo; mobile game; và giải pháp cho nhiều lĩnh vực khác

Giao thông thông minh

  • Mua vé xe, đặt vé xe trên smartphone, smart TV
  • Điều hành hãng xe công nghệ, ứng dụng đặt xe trên smartphone tương tự Uber, Grab,...
  • Phân hệ Quản lý Đội xe (Fleet Management) trong một hệ thống ERP thường có gì?
  • Hệ thống chấm công từ xa thông minh qua vệ tinh STracking
  • Ứng dụng quản lý vận tải trên smartphone
  • Phần mềm quản lý xe thường có những tính năng gì?
  • Tính năng cơ bản của một hệ thống giám sát hành trình, hộp đen và ứng dụng điều hành trong vận tải
  • Tra cứu thông tin tàu thuyền, lịch xuất cảng của từng tàu
  • SGO Giải pháp thông minh cho các công ty vận chuyển, logistics thuê ngoài
  • Lời giải cho xe trống chiều về – vấn đề nan giải của ngành vận tải Việt Nam
  • Phần mềm CRM (phần mềm quản lý khách hàng) cho lĩnh vực vận tải, hậu cần thường gồm những gì?
  • Phần mềm quản lý cho thuê xe ô tô thường có những tính năng gì?

Chuyển đổi số, Kinh tế số

app SOS, gọi khẩn đường dây nóng khi gặp nạn, cháy nổ, nguy hiểm tính mạng, cấp cứu, cứu hộ,...tại Việt Nam

Giải pháp Blockchain và câu chuyện minh bạch hóa tiền công đức

Quản lý chi tiêu, thu/chi kinh doanh, tài chính cá nhân,... trên smartphone

Gọi GAS chỉ với một nút bấm trên smartphone

App giúp việc và dịch vụ tại nhà, Tư vấn, xây dựng, chuyển giao, đồng hành cùng quý vị triển khai

Tìm giúp việc, sửa điện nước, dịch vụ tại nhà,...

Đặt món dễ dàng

Phát triển ứng dụng mobile trên sàn bất động sản, mạng xã hội BĐS, tìm BĐS theo mô hình uber

Tra cứu thông tin doanh nghiệp tại Việt Nam

Điều hành taxi, ứng dụng gọi xe trên smartphone

Ứng dụng công nghệ vào giáo dục (Edu Tech)

Ứng dụng smartphone và tablet cho ngành du lịch, travel, team building

Đặt bàn, nhận thông tin khuyễn mãi BeerClub, quán bar

Tra cứu thông tin đăng kiểm cơ giới

App chăm sóc thú cưng, dịch vụ thú y

Chat, nhắn tin, gọi điện, đàm thoại

Kiểm tra thực phẩm VietGAP trên smartphone

Mua bán rau củ quả, nông sản trên smrtphone và tablet

Ứng dụng quản lý garage trên smartphone và tablet

Ứng dụng Smartphone cho thể dục & thể thao

Quản lý cửa hàng, ki ốt trên smartphone và tablet

Hệ thống order chuyên nghiệp cho quán ăn, cafe, nhà hàng,...

Ứng dụng mobile để marketing và phân phối rượu vang

02836028937 Facebook Messenger Khởi Nghiệp Số , Chuyển Đổi Số
  • Trang chủ
  • Công ty DVMS
  • Dịch Vụ
    • Tư Vấn Ứng Dụng Smartphone
    • Tư Vấn Ứng Dụng Tablet
    • Tư Vấn Blockchain
    • Tư Vấn Xây Dựng Mạng Xã Hội
      • Giải Pháp Mạng Xã Hội
    • Tư Vấn Giải Pháp Giao Thông, Vận Tải Thông Minh
    • Tư Vấn Big Data
    • Cho Thuê Nhân Sự
    • Quy trình triển khai dự án
  • Giải pháp của DVMS
    • Giải pháp cho doanh nghiệp
    • Giải pháp cho cá nhân
    • Cho mọi loại hình
  • Blogs
    • Tin DVMS
    • Blogs công nghệ
    • Tin về Blockchain
    • Tin về Big Data
    • Tin về Mạng Xã Hội
  • Tuyển dụng
  • Liên hệ
Click to listen highlighted text! Powered By DVMS co.,ltd

Từ khóa » Game Viết Bằng Js