1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng ứng dụng học tập Drimlearn bằng Unity

77 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Ứng Dụng Học Tập Drimlearn Bằng Unity
Tác giả Nguyễn Văn Đạt
Người hướng dẫn ThS. Trịnh Thị Vân Anh
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Công nghệ thông tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 77
Dung lượng 15,05 MB

Nội dung

Hơn nữa, lĩnh vực công nghệ ngày nay đang có những bước phát triển mạnhcùng với sự phát triển rộng rãi của các thiết bị điện tử, di động thì việc học tậpkhông chỉ giới hạn trên lớp với s

Trang 1

LVG NVA N¡Af\DN

€0LLLH/Iđ

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN I

ĐỎ AN TOT NGHIỆP

ĐÈ TÀI:

XÂY DỰNG ỨNG DỤNG HỌC TẬP DRIMLEARN

BANG UNITY

Người hướng dẫn : ThS Trịnh Thị Vân Anh

Sinh viên thực hiện: Nguyễn Văn Đạt Lớp: D17HTTTO3

Hệ: Đại học chính quy

HÀ NỘI - 2021

Trang 2

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THONG

KHOA CÔNG NGHỆ THÔNG TIN I

ĐỎ AN TOT NGHIỆP

ĐÈ TÀI:

XÂY DỰNG ỨNG DỤNG HỌC TẬP DRIMLEARN

BANG UNITY

Người hướng dẫn: ThS Trịnh Thi Vân Anh

Sinh viên thực hiện: Nguyễn Văn Đạt

Lớp: DI7HTTT03

Hệ: Đại học chính quy

Trang 3

DO ÁN TOT NGHIỆP NHẬN XÉT

NHAN XÉT

(Của giảng viên hướng dẫn)

Hà Nội, ngày tháng năm 20

Giảng viên hướng dẫn

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 1

Trang 4

DO ÁN TOT NGHIỆP NHẬN XÉT

NHAN XÉT

(Của giảng viên hướng dẫn)

Hà Nội, ngày tháng năm 20

Giảng viên hướng dẫn

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 2

Trang 5

DO AN TOT NGHIỆP LOI CAM ON

LOI CẢM ON

Em xin cảm ơn các thay giáo, cô giáo của Hoc Viện Công nghệ Buu ChínhViễn thông, đặc biệt là các thầy cô trong khoa Công nghệ thông tin 1 đã tận tìnhdạy dỗ và chỉ bảo em trong suốt 4 năm học vừa qua

Em xin chân thành cảm ơn ThS Trịnh Thị Vân Anh đã chỉ dạy và hướngdẫn cho em trong việc lựa chọn đề tài, cũng như chỉ bảo tận tình trong quá trìnhthực hiện dé tài và viết báo cáo đồ án này

Cuối cùng em xin cảm ơn gia đình, bạn bè, đồng nghiệp, những người đãluôn bên cạnh động viên, giúp đỡ em trong những lúc khó khăn và luôn tạo cho

em điều kiện tốt nhất để hoàn thành đồ án này

Mặc dù đã cô gang hoàn thành nghiên cứu trong phạm vi cho phép nhưngchắc chắn sẽ không tránh khỏi được sự thiếu sót Em kính mong nhận được sựthông cảm của thầy cô và các bạn

Em xin chân thành cảm ơn!

Trang 6

DO AN TOT NGHIỆP LOI CAM KET

LOI CAM KET

Ho va tén sinh vién: Nguyén Van Dat.

Dién thoai lién lac: 0981538161.

Email: datnguyen0801 1999 @ gmail.com.

Mã sinh viên: B17DCCN115.

Lớp: DI7HTTT043.

Hệ dao tạo: Đại học chính quy.

Tôi — Nguyễn Văn Đạt — cam kết đồ án tốt nghiệp (DATN) là công trình nghiêncứu của bản thân tôi dưới sự hướng dẫn của ThS Trịnh Thị Vân Anh Các kết quảnêu trong đồ án tốt nghiệp là trung thực, là thành quả của riêng tôi, không sao chéptheo bat kỳ công trình nào khác Tất cả những tham khảo có trong đồ án tốt nghiệp

— bao gồm hình ảnh, bảng biểu, số liệu và các câu từ trích dẫn — đều được ghi rõràng và đầy đủ nguồn gốc trong danh mục tài liệu tham khảo Tôi xin hoàn toànchịu trách nhiệm với dù chỉ một sao chép vi phạm quy chế của nhà trường

Hà Nội, ngày 26 tháng 11 năm 2021

Tác giả

Nguyễn Văn Đạt

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 4

Trang 7

DO AN TOT NGHIỆP MUC LUC

MUC LUCDANH MỤC HINH ANH - ¿2-5 ©522SE‡EEEEE2E22122171121121121 71.21 re 7DANH MỤC BANG BIEU 2-52 ©522S<2SE‡EE2EE2EEE2EEEE2EE2EEEEEerkrrrrrrrrree 9DANH MỤC CHU VIET TẮTT 2- + + +E+E£+EE£EE£EEEEEEEEEEEEEEEEErrkrrkerkeee 10LOI NÓI DAU -2-©22©2<22E£2EEEEEEE2112712212112711271211111 11211111111 11CHƯƠNG I GIỚI THIEU CHUNG 22 ¿2£ ©£2£E£2£E£2££+£x+zzxe+zsez 13

1.1 Giới thiệu bài toán -2-©5<+Sk SE 2E E21 211211 212121 141.1.1 Tên để tài Sc2kc2 2E E222 erkerrrei 141.1.2 Mục tiêu dé tài ¿ 2ccctct2EE E2 EEcrrrerrrrree 14

1.1.3 Mục tiêu nghiên CỨU G1 3S * S3 ng ey 14

1.2 Tổng quan về Unity Engine - 2 2+s+E+E£+E+EEerkzEezrxrrxerxee 141.2.1 Giới thiệu cơ bản về Unity Engine -¿ -:©+c5+5cxz+cse2 141.2.2 Ưu điểm của Unity Engine[4] - 2-52 2 +Eezxerxererszrezes 15

1.23 Ngôn ngữ lập trình trong Unity Engine|4] - -. «-<<«+ 17

1.2.4 Các thành phan chính trong cửa số làm việc Unity Editor[3] 181.2.5 Một số thuật ngữ, khái niệm trong Unity[ S] -««-+-«<>+5 221.3 Tổng kết 2c 2L 2H22 221221221121121121111211211 11 E1 23CHƯƠNG II PHAN TÍCH VA THIET KE UNG DỤNG - 24

2.1 Giới thiệu về ứng Ung ieeeececececccecccsssesesssessessessessessesscssssessessessesseanees 252.1.1 Sơ đồ hoạt động chung của ứng dụng -¿z5s+csecsee- 262.1.2 _ Xác định tác nhân và xây dung use case tổng quan - 262.2 Unit 1: Game Save Ear(H c1 1111111231111 1 118851111111 22x xe 272.2.1 Thể loại 2c 2< 2k k2 2E E21221211211211 1111111 272.2.2 Kịch bản 2k 2t 2t E221 eerrrree 27

2.2.3 Thiết kế chỉ tiết[ l] -¿-©5¿©7+2EE2EESEESEEEEEEEkrrrkerkrerkrsree 282.2.4 Các thành phan chính -2- + ++++2E++Ex++rxzrxrrxrerkesree 342.3 Unit 2: Game Christmas Egg c3 3 re 37

"ch š 5n 372.3.2 Kich bản - 7c ck ct SE E211 372.3.3 Thiết kế chi tiết[ ] ¿2c ©+£+E£+E£EE£EEEEEEEEEEEEEEEEErrkrrkerveee 372.3.4 Các thành phần chính -¿ 2 ++++£E££E£+E++EEtrEtzxzxerrserxeee 44

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 5

Trang 8

DO AN TOT NGHIỆP MUC LUC

2.4 Unit 3: Math Game - - - - Ă-G E33 2101111111 9111111111 88511 111 kg xe 462.4.1 Thể loại 2c 2c 2k t2 2E 21221211211211.1111 21.11 462.4.2 Kịch bản 2c 2k2 2H21 2112211211211 eerrrree 46

2.4.3 Thiết kế chỉ tiết[ l] 2¿-©5¿27+2EE‡EESEECEEEEEEErkrrrkrrrerkrree 462.4.4 Các thành phan chính - 2-2 2 2+++x+E£+E+£EEtEEtzx+zrerrserxeee 522.5 Unit 4: Game Dunge€on - - sgk kg ngư, 542.5.1 Thể Lodi veccecccccessesssessessessusssessessessusssessessessussssesessessessusssessessessseeseesess 54

3.1 Yêu cầu hệ thong wv eeccecccecscsssesssssssessecssecsssssscssscssecsscssscssecssessecssecsseeseesses 683.2 Cài D&E eececcccccccsessessessessessessusssessecsessusssessecsessussusssessessussesssessesseseseeseess 683.3 Xử lý các thành phần trong game - - 2-2 2 2+E£+Ee£x+£xeExerszrezes 703.3.1 Xử lý đồ họa[| - 5c tk E2 2122111111111 cte 70

3.3.2 Xử lý âm thanh -©sc+x++E£EkeEEEEEEEEEEEEEEErkrrrrrkerkee 70

3.4 Tổng kết -c- St Tt TT 11121121121 1121111211211 11 11 1111 11x re, 71CHƯƠNG IV KET LUẬN VÀ HƯỚNG PHÁT TRIẺN -2-5¿ 724.1 Kết quả dat được -: ©2++2xcSEk2 2x22 734.2 Những hạn chẾ -¿- 2 £+St+E‡EEEEEEEEEEEEE12112112111171 1111111 xe 734.3 Hướng phát triỂn - 2+ £+k++E#EEEEEEEEEE12112112112171 21111 1.cxe 74

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 6

Trang 9

ĐỎ ÁN TÓT NGHIỆP DANH MỤC HÌNH ẢNH

DANH MỤC HÌNH ANH

Hình 1 1 Các nền tảng Unity hỗ trợ 2-22 2 2+5++£E£2E£+EE£EEeEEzEezrxerxerxee 15Hình 1 2 Nền tảng được cài đặt trong đồ án 2-52 ccccxczErrerxerseee 16Hình 1 3 Thống kê người dùng Game Engine - 2 ¿+ + s2 =s+£++cz+: 17

Hình 1 4 Cửa số làm việc với Unity Engine 2 2 + x+cxccxerxrrssreee 18

Hình 1 5 Ví dụ về khởi tạo đối tượng trong Hierarchy - 5 s55: 19Hình 1 6 Chọn kích thước màn hình + 2+2 +22 **£ +2 + +zzeezzeeeezxs 20Hình 1 7 Ví dụ về màn hình Console -.-¿- - + s+x+E+EEE+E+EeEE£E+EeEertzEerrezxee 21

Hình 2 1 Sơ đồ hoạt động của ứng dụng - 2-2 2 2+cz+xe£Eerxerxerxersereee 26Hình 2 2 Biéu đồ use case tong quan của hệ thống .2 2¿-c5¿©55z-: 27Hình 2 3 Use case chi tiết Unit 1 Save Earth -2©-s+cs+cxezxczrserxerseee 28Hình 2 4 Biểu đồ lớp thực thé Unit l -2- 2 2£ 5£+E£+££+£++£xezEzrserxerxeee 32Hình 2 5 Biểu đồ lớp thiết kế Unit 1 2-2-2 5£+££+E++EE+£EezEzrserxerxeee 32Hình 2 6 Biểu đồ tuần tự Unit l c:¿-55++tcvcxvtrerrtrrerrtrrrrrrrrrrrrrrrk 33

Hình 2 7 Phần mở đầu game Save Earth - 2-2 2 2+S£+E££Ee£xerxerxerzreee 33

Hình 2 8 Giao diện chính game Save Earth - -. 5 kh erirey 34

Hình 2 9 Use case chỉ tiết Unit 2 Christmas Eggs -252 25+: 37Hình 2 10 Biểu đồ lớp thực thé Unit 2 -2- 2 2 2 2+££+E££EeEEeExeExerszreee 41Hình 2 11 Biểu đồ lớp thiết kế Unit 2 - ¿2-2522 2+S22E£+E££EeEEeExerxersrreee 4IHình 2 12 Biểu đồ tuần tự Unit 2 c:¿-552ccc2xvctrxttrerktrrrrrrrrrrrrrrrrk 42Hình 2 13 Phan mở đầu game Christmas Eggs - 2 2 5s s2 s+£z+cz+z 42

Hình 2 14 Giao diện game Christmas EgS 5 5 + sskeeseeeres 43

Hình 2 15 Giao diện câu hỏi game Christmas Eggs -. «55s <+<<<++ 43Hình 2 16 Use case chi tiết Unit 3 Math Game c.ccsccsssessessesssesseesesseessesseeses 46Hình 2 17 Biểu đồ lớp thực thé Unit 3 ccccccccccccssessessessessessessesssesseesessesssesseeses 50Hình 2 18 Biểu đồ lớp thiết kế Unit 3 2-2-2 5£+S£+££+£E+£Ee£EzErrxerseee 50Hình 2 19 Biểu đồ tuần tự Unit 3 ¿ 25cccctkrrrtrktrirrrrrrrriirrrrirriio 51Hình 2 20 Mở đầu Math Game - 2-2 5£ ©5£+E£+EE£EE£2EE2EEEEEEEEeEEErEkrrxerkere 51

Hình 2 21 Giao diện trả lời câu hỏi Math game - - 55-5 5+5 s+++sc+sss+ 52

Hình 2 22 Use case chỉ tiết unit 4 o seeccssessesssseecesssneecesssneceessneseessnessesnneess 55Hình 2 23 Biểu đồ lớp thực thé Unit 4 ¿2-2 2 2 £+E£+E££EeExeExeExerszrxee 58Hình 2 24 Biéu đồ lớp phân tích Unit 4 2-2 2 2+ £+E+E££E+£xeExerezreee 59Hình 2 25 Sơ đồ tuần tự Unit 4 ccccc2+vctEktrtrktrrrrttrrrrrtrrrrrrrrrk 59Hình 2 26 Giao diện mở đầu game Dungeon 2- ¿2 ©++++zxz+sxzex 60Hình 2 27 Giao diện màn chơi game Ï2unge€oH -.- 5-5 55s ss+++ssexssss2 60Hình 2 28 Use case chi tiết chức năng cài đặt âm thanh -5-: 64Hình 2 29 Giao diện cài đặt âm thanh - c5 <5 E33 +2 +++eee+eeeesesexs 65

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 7

Trang 11

ĐỎ ÁN TÓT NGHIỆP DANH MỤC BANG BIEU

DANH MỤC BANG BIEU

Bảng 2 1 Bảng mô tả lớp QuestÏnfOT.CS s5 55+ * + kESseeseeerseeererre 29

Bảng 2 2 Bảng mô tả lớp UI_ QuestMng.CS - c5 Series 30

Bảng 2 3 Bảng mô tả lớp QuestDisplay.cs c5 55s sSssseseeereses 31 Bang 2 4 Bảng mô tả lớp CharacterMng.CS cà series 39 Bảng 2 5 Bảng mô tả lớp UI_ QuestPlatform.Cs - 5 55-5 << s++sexsss2 40 Bang 2 6 Bang mô tả lớp GameManaget.cs - 5s csssssssersrrs 48 Bảng 2 7 Bang mô tả lớp CharDungeonMng.CS - 55+ £+<£+sce+exss 56

Bảng 2 8 Bảng mô tả lớp UIDungeonQuestMng.cs «<<<< s52 57 Bang 2 9 Bảng mô tả lớp ItemDungeon.cs - -. 5 St, 58 Bảng 2 10 Bang mô ta lop UI_ MenuSettingMng.Cs - 2-5 < << <++<s2 65

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 9

Trang 12

ĐỎ ÁN TÓT NGHIỆP DANH MỤC CHU VIET TAT

DANH MUC CHU VIET TAT

STT | Từ viết tắt Tiếng Anh Tiếng Việt/ Giải thích

1 MVC Model View Controller | Mô hình thiết kế sử dung trong kỹ

4 FPS Frames per second Chỉ số khung hình trên mỗi giây

5 API Application Giao diện lập trình ứng dụng

Programming Interface

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 10

Trang 13

ĐỎ ÁN TÓT NGHIỆP LỜI NÓI ĐẦU

LỜI NÓI ĐẦU

Hiện nay, sự hội nhập cũng như toàn cầu hóa đang là một xu thế tất yếu và

việc tình hình dịch bệnh covid ngày càng trở nên căng thăng khiến cho việc học

tập trở nên khó khăn hơn Chính vì vậy việc học tập và phát triển tư duy là hết sứcquan trọng Toán học là một bộ môn xuyên suốt mọi cấp học và là cũng là mônkhoa học hết sức phổ biến hiện nay, toán giúp chúng ta rèn luyện tư duy, rèn luyện

khả năng tập trung, có thể áp dụng vào đời sống

Hơn nữa, lĩnh vực công nghệ ngày nay đang có những bước phát triển mạnhcùng với sự phát triển rộng rãi của các thiết bị điện tử, di động thì việc học tậpkhông chỉ giới hạn trên lớp với sách, vở và bảng truyền thống Ngày nay, chúng ta

có thê tiếp cận với những kiến thức mới chỉ cần với một chiếc điện thoại di động

nhỏ gọn.

Thay vì chúng ta dạy học môn toán một cách khô khan như cách truyềnthống thì khi đưa môn toán vào ứng dụng học tập thì việc học sẽ trở nên thú vị và

dễ nhớ hơn với việc cho phép người học tương tác với những hình ảnh, những trò

chơi trong game, nhất là với giới trẻ và đặc biệt là trẻ em, việc đưa các bài họcthông qua các trò chơi sẽ khiến chúng cuốn hút và thú vị hơn rất nhiều so với việchọc truyền thống trên sách vở Đó chính là lý do lớn nhất nhất dé em xây dựng đồ

án này với đề tài : “Xây dựng ứng dụng học tập DrimLearn bằng Unity”

Phan mềm được xây dựng với mục đích kết hợp giữa việc học và chơi

Người chơi sẽ trải nghiệm các minigame, trong mỗi minigame sẽ đưa các câu hỏi

liên quan đến kiến thức toán học Điều này vừa mang lại sự thư giãn, thú vi, khôngnhàm chán Phần mềm được xây dựng trên nền tảng Android với trọng tâm chính

là hướng đến việc học tập của trẻ em, giúp các bé có thể trải nghiệm việc học màchơi, chơi mà học mọi lúc, mọi nơi chỉ với một thiết bị Android nhỏ gọn

Voi mục tiêu như vậy, em xin trình bay đô án với 4 chương như sau:

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 11

Trang 14

ĐỎ ÁN TÓT NGHIỆP LỜI NÓI ĐẦU

Chương I Giới thiệu chung: Trong chương này, đồ án sẽ mô tả dé tài, giới thiệumục tiêu của đề tài, giới thiệu nền tảng Unity Engine, quá trình hình thành và

phát triển, ngôn ngữ lập trình C#

Chương II Phân tích và thiết kế ứng dụng: Trong chương này, đồ án sẽ giớithiệu cấu trúc, giao diện, cách chơi và các thành phần của game

Chương III Cài đặt ứng dụng: Trình bày các xử lý đồ họa, âm thanh, những

yêu cầu cho phần cài đặt phần mềm

Chương IV Kết luận và hướng phát triển: Tổng kết, tóm tắt những kết quả đãthực hiện được để và đề xuất hướng phát triển

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 12

Trang 15

DO AN TOT NGHIỆP CHUONG I GIỚI THIỆU CHUNG

CHUONG I GIOI THIEU CHUNG

Trong chương nay, đồ án sẽ mô tả và giới thiệu mục tiêu của dé tài cùng với đó là

giới thiệu các công cụ và công nghệ được sử dụng trong ứng dụng.

Nội dung chính bao gồm:

e Giới thiệu bài toán

e Tổng quan về Unity Engine

e Tổng kết

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 13

Trang 16

DO AN TOT NGHIỆP CHUONG I GIỚI THIỆU CHUNG

1.1 Giới thiệu bài toán

1.1.1

1.1.2

1.1.3

Tên đề tàiTên đề tài: Xây dựng ứng dụng học tập DrimLearn bằng Unity

Mục tiêu đề tàiMục tiêu dé tài: Xây dung 1 phần mềm học toán kết hợp với chơi game giúpcho việc học của các bạn học sinh trở nên thú vị hơn Phần mềm tiện lợi cóthể sử dụng mọi lúc mọi nơi và hiệu quả cho người sử dụng

Đối tượng hướng đến: các bạn học sinh lớp 3.

Ứng dụng công nghệ Unity tạo nên sự tương tac va hiển thị hình ảnh, hoạtảnh trực quan cho người học.

Mục tiêu nghiên cứuTìm hiểu về mô hình MVC và áp dụng mô hình MVC vào lập trình game.Tìm hiểu chuyên sâu về ngôn ngữ lập trình C#

Tìm hiểu chuyên sâu về Unity Engine, cách thức sử dụng và xây dựng một

ứng dụng hoàn chỉnh trên Unity Engine.

1.2 Tong quan về Unity Engine

1.2.1 Giới thiệu cơ bản về Unity Engine

Định nghĩa

Unity là một là công cụ phát triển game đa nền tảng (cross- flatformgame engine) được phát triển bởi Unity Technologies Game engine nàyđược sử dung dé phat trên game trên PC, consoles, thiết bi di động và trênwebsites.

Quá trình phát triển

Ra mắt đầu tiên vào năm 2005 tại sự kiện Apple’s WorldwideDeveloper Conference bởi nha sáng lập David Helgason, trai qua hon 12năm phát triển, nay Unity đã có version 5.5 hoàn thiện hơn về rat nhiều mặt.Tháng 5-2012 theo cuộc khảo sát Game Developer Megazine được công

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 14

Trang 17

DO AN TOT NGHIỆP CHUONG I GIỚI THIỆU CHUNG

1.2.2

nhận là Game engine tốt nhất cho mobile Năm 2014 Unity thắng giải “BestEngine” tại giải UK’s annual Develop Industry Exellence.

Ưu điểm của Unity Engine[4]

Chức năng cốt lõi đa dạng bao gồm: cung cấp công cụ dựng hình (kết xuất

đồ họa) cho các hình ảnh 2D hoặc 3D, công cụ vật lý (tính toán và phát hiện

va chạm), âm thanh, mã nguồn, hình ảnh động, trí tuệ nhân tạo, phân luồng,tạo dòng dữ liệu xử lý, quản lý bộ nhớ, dựng ảnh đồ thị và kết nối mạng.Nhờ có các engine mà công việc làm game trở nên ít tốn kém và đơn giảnhơn.

Hỗ trợ đa nền tảng: Một trong các thế mạnh của Unity3D chính là khả năng

hỗ trợ gần như toàn bộ các nền tảng hiện có bao gồm: PlayStation 3, Xbox

360, Wii U, 1OS, Android, Windows, Blackberry 10, OS X, Linux, trình duyệt Web và cả Flash Nói cách khác, chỉ với một gói engine, các studio

có thé làm game cho bat kỳ hệ điều hành nào va dé dang convert chúng sangnhững hệ điều hành khác nhau Đồng thời, đây cũng là giải pháp cho cácgame online đa nền tảng — có thé chơi đồng thời trên nhiều hệ điều hành,phần cứng khác nhau như Web, PC, Mobile, Tablet

iOS ® & — đa 6 4 Geer Pra

FVITA oon : uw 3Ds [ om } ba 9 + eer

Trang 18

DO AN TOT NGHIỆP CHUONG I GIỚI THIỆU CHUNG

Add Open Scenes Platform

Hình 1 2 Nên tang được cài dat trong đô án

e Dễ sử dụng: Unity3D được build trong một môi trường phát triển tích hợp,

cung cấp một hệ thống toàn diện cho các lập trình viên, từ soạn thảo mãnguồn, xây dựng công cụ tự động hóa đến trình sửa lỗi Do được hướng đếnđồng thời cả lập trình viên không chuyên và studio chuyên nghiệp, nênUnity3D khá dé sử dụng Hơn nữa, đây là một trong những engine phô biếnnhất trên thé giới, người dùng có thé dé dàng tìm kiếm kinh nghiệm sử dụngcủa “tiền bối” trên các forum công nghệ

e Cap nhật liên tục: Unity Engine luôn được cập nhật, phát triển qua các phiên

bản qua từng năm.

e Unity là engine phổ biến va thông dụng theo như thống kê đến ngày

12/12/2021 thì Unity vẫn là engine được dùng nhiều nhất

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 16

Trang 19

DO AN TOT NGHIỆP CHUONG I GIỚI THIỆU CHUNG

1.2.3

What game engines do you currently use?

72%

Hình 1 3 Thong kê người dùng Game Engine

Ngôn ngữ lập trình trong Unity Engine[4]

Unity hỗ trợ đồ họa 2D và 3D, các chức năng được viết chủ yếu qua ngôn

ngữ C# Hai ngôn ngữ lập trình khác cũng được hé trợ: Boo, đã bị loại cùng

với việc phát triển Unity 5 và UnityScript bị loại vào tháng 8 năm 2017 saukhi phát hành Unity 2017.1

C# (C Sharp) là một ngôn ngữ lập trình hướng đối tượng đa năng, mạnh mẽđược phát triển bởi Microsoft, C# là phần khởi đầu cho kế hoạch NET của

họ Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng theoECMA là C#, chỉ bao gồm dấu số thường Microsoft phát triển C# dựa trênC++ và Java C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++,

Visual Basic, Delphi và Java.

C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nỗitiếng với các sản phẩm Turbo Pascal, Delphi, J++, WFC Phiên bản gần đâynhất là 9.0, được phát hành vào năm 2020 cùng với Visual Studio 2019

phiên bản 16.8.

Ngôn ngữ lập trình C# có những đặc trưng cơ bản sau:

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 17

Trang 20

DO AN TOT NGHIỆP CHUONG I GIỚI THIỆU CHUNG

- LAmé6t ngôn ngữ thuần hướng đối tượng, khá đơn giản, chỉ có khoảng

80 từ khóa và hơn mười may kiểu đữ liệu được dựng sẵn

- Cung cấp những đặc tính hướng thành phan (component oriented) như

là Property, Event.

- _ C# không khuyến khích sử dụng con trỏ như trong C++ nhưng nếubạn thực sự muốn sử dụng thì phải đánh dấu đây là mã không an toàn(unsafe), loại bỏ đa kế thừa trong C++ mà thay vào đó C# sẽ hỗ trợ thực

thi giao diện interface C# có bộ Garbage Collector sẽ tự động thu gom

vùng nhớ khi không còn sử dụng nữa.

e© Ưu điểm của C#:

- _ Xây dựng dựa trên nền tảng của các ngôn ngữ lập trình mạnh nên thừahưởng những ưu điểm của những ngôn ngữ đó

- Gan gũi với các ngôn ngữ lập trình thông dụng (C++, Java,Pascal)

- = Được sự chống lưng của NET Framework

e Nhược điểm của C#: Thao tác đối với phan cứng yếu hơn so với ngôn ngữ

khác Hầu hết phải dựa vào windows

1.2.4 Các thành phần chính trong cửa số làm việc Unity Editor[3]

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 18

Trang 21

DO AN TOT NGHIỆP CHUONG I GIỚI THIỆU CHUNG

e Cửa số 1: Hierarchy

Tab hierarchy là nơi hiển thi các GameObject trong Sences hiện hành va

cũng là nơi cho phép người dùng khởi tạo các đối tượng bằng tay Khi các đốitượng được thêm hoặc xóa trong Sences, tương ứng với các đối tượng đó trongcửa sô Hierarchy.

Tương tự trong tab Project, Hierarchy cũng có một thanh tìm kiếm giúp

quan lý và thao tác với các GameObject hiệu quả hơn đặc biệt là với các dự án

lớn.

Cut Copy

Paste Paste As Child

3D Object Physics Circle

Effects Tilemap Capsule

Light Sprite Shape Isometric Diamond

Trang 22

DO AN TOT NGHIỆP CHUONG I GIỚI THIỆU CHUNG

Khi người dùng nhắn nút play trong Unity thi cửa số Game sẽ luôn được hiểnthị.

Thanh công cụ trong cửa sô game cung cấp các tùy chỉnh về kích thướcmàn hình, thông số (stats), gizmos, tùy chon bật tắt các component

®Game

Display1 * 1820x1080 Portrait vị Scale ®—————————— 034x Maximize On Play | Mute Audio Stats Gizmos | *

¥ Low Resolution Aspect Ratios

VSyne (Game view only)

Free Aspect Dr im

800x480 Portrait 800x480 Landscape

1280x720 Portrait

J2NUEVSU a Landen pe

1920x1080 Landscape

2160x1080 Portrait 2160x1080 Landscape 2560x1440 Portrait 2560x1440 Landscape

2960x1440 Portrait Save Earth

2960x1440 Landscape 16:9 Portrait

16:9 Landscape ~

18:9 Portrait F ri

bes pe Christmas Eggs

Remote (Not Connected) (10x10)

(+)

Hình 1 6 Chon kích thước màn hìnhe_ Cửa số 4: Inspector

Cửa số Inspector hiển thị chỉ tiết các thông tin về GameObject đangduoc trỏ đến, kế cả những component được đính kèm và thuộc tính của nó.Người dùng có thể điều chỉnh, thiết lập mọi thông số và chức năng củaGameObject thông qua cửa số Inspector

Mọi thuộc tính thể hiện trong Inspector đều có thé dễ dàng tùy chỉnhtrực tiếp mà không cần thông qua một kịch bản định trước Tuy nhiên ScriptingAPI cung cấp một số lượng nhiều và đầy đủ hơn do giao điện Inspector là có

giới hạn.

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 20

Trang 23

DO AN TOT NGHIỆP CHUONG I GIỚI THIỆU CHUNG

Các thiết lập của từng component được đặt trong menu Người dùng cóthé click chuột phải, hoặc chon icon hình bánh răng nhỏ để xuất hiện menu.Ngoài ra Inspector cũng thể hiện mọi thông số Import Setting của asset đanglàm việc như hién thị mã nguồn của Script, các thông số animation,

e Cửa số 5: Project

Cửa số này hiển thị thông tin của tat cả các tài nguyên (Assets) ma bạn

đã cài vào Cột bên trái hiển thị assets và các mục yêu thích dưới dạng cây thư

mục tương tự như Windows Explorer Khi click vào một nhánh trên cây thư

mục thì toàn bộ nội dung của nhánh đó sẽ được hiền thị ở khung bên phải Ta

có thê tạo ra các thư mục mới băng cách Right click -> Create -> Folder hoặcnhắn vào nút Create ở góc trên bên trái cửa số Project và chọn Folder Các tàinguyên trong game cũng có thé được tao ra bằng cách này

Phía trên cây thư mục là mục Favorites, giúp người dùng truy cập nhanh

vào những tài nguyên thường sử dụng Chúng ta có thé dua các tài nguyên vàoFavorites bằng thao tác kéo thả

Đường dẫn của thư mục tài nguyên hiện tại Người dùng có thé dé dangtiếp cận các thư mục con hoặc thư mục sốc băng cách click chuột vào mũi tênhoặc tên thư mục.

e Ctra sô 6: Console

Noi hiển thi các thông báo, các lỗi khi chương trình hoạt động giúp chongười dung có thé nắm bắt được về hoạt động của chương trình

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 21

Trang 24

DO AN TOT NGHIỆP CHUONG I GIỚI THIỆU CHUNG

1.2.5 Một số thuật ngữ, khái niệm trong Unity[5]

Component

Một GameObject sẽ có nhiều thành phan cấu tạo nên nó như là vị trí

(transform- mặc định ObJect nào cũng phải có), hình ảnh (sprite render), tập

hợp các hành động (animator), thành phần xử lý va chạm (collision), tínhtoán vật ly (physical), mã điều khiến (script), các thành phần khác mỗithứ như vậy gọi là một component của GameObject.

GameObject: Một đối tượng cụ thé trong game gọi là một GameObject, có

thé là nhân vật, đồ vat nào đó.

Sprite

La một hình ảnh 2D của một GameObject có thé là hình ảnh day đủ,

hoặc có thé là một bộ phận nào đó Nhiều sprite liên tiếp nhau có thê tạo ra

các chuyên động của các object như một animation

Prefabs

Là 1 khái niệm trong Unity, dùng dé chỉ các đối tượng giống nhau

có trong game mà chỉ cần khởi tạo lại vị trí, tỷ lệ, thuộc tính

Ví dụ : Các đội tượng cây, lá trong game đều được xử lý giống nhaunên ta có thê lưu thành các Prefabs dé có thé sử dụng lại va tùy biến chúng.Sounds: Âm thanh trong game, được phát bởi component AudioSourcetrong Unity, ta có thể điều chỉnh các thuộc tính như độ to, tốc độ phát,

Trang 25

DO AN TOT NGHIỆP CHUONG I GIỚI THIỆU CHUNG

- void Awake() được gọi trước ham StartQ (gọi ngay khi GameObject

được attach vào scene).

- void Update() được gọi tại mỗi frame (khung hình) trong game, tuỳ vào

logic mà hàm này có thé bị skip để tránh việc bị giảm FPS

- void FixedUpdate() được gọi ở mỗi physics frame, chuyên dùng cho

các tương tác vật lý, nêu ko dùng vật lý thi cũng không cần

- void LateUpdate() được gọi sau khi tất cả các hàm update đã được gọi

- void OnEnableQ/ OnDisable() được gọi khi GameObject bi enabled/

disabled trên Scene.

- void OnDestroy() được gọi khi GameObject bi destroyed (bị loại khỏi

màn, thông qua hàm GameObJect.Destroy).

- void OnGUIQ được gọi khi màn chơi được vẽ (drawing) và cho phép

script sử dụng GUI-API.

1.3 Tổng kết

Trong chương này đồ án đã trình bày được các thông tin chỉ tiết về đề tàiXây dựng ứng dụng học tập DrimLearn bang Unity và thông tin sơ bộ về các

công cụ được sử dụng trong ứng dụng.

Dựa vào bài toán đã được đặt ra ở chương này, chương tiếp theo đồ án sẽthực hiện phân tích và thiết kế ứng dụng

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 23

Trang 26

DO AN TOT NGHIỆP CHUONG II PHAN TICH VA THIET KE UNG DUNG

CHUONG II PHAN TICH VA THIET KE UNG DUNG

Trong chương nay, đồ án sẽ giới thiệu sâu hơn về ứng dung Qua đó sẽ di đến cácbước phân tích và thiết kế để tạo nên một ứng dụng hoàn chỉnh Nội dung chươngbao gồm:

e_ Giới thiệu về ứng dụng

e Unit 1: Save Earth

e Unit 2: Game Christmas Eggs

e Unit 3: Math Game

e Unit 4: Game Dungeon

e Chức năng cai đặt âm thanh

e Tổng kết

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 24

Trang 27

DO AN TOT NGHIỆP CHUONG II PHAN TICH VA THIET KE UNG DUNG

2.1 Giới thiệu về ứng dụng

Tên ứng dung: DrimLearn.

Đối tượng hướng đến: các bạn nhỏ với trình độ lớp 3 Các câu hỏi có nhiềudạng như: câu hỏi trắc nghiệm trọn một trong bốn đáp án hoặc trả lời tựluận dé người học có thể củng cô kiến thức về môn toán

Người học sẽ lần lượt trải qua các bài học với những chủ đề khác nhau, cácbài học kết hợp với dạng game một chạm Mỗi khi vượt qua được một câu

hỏi người học sẽ nhận được nhận phan thưởng tùy theo chủ dé từng bài học

và đến với câu hỏi tiếp theo

Ứng dụng được chia làm các Unit nhỏ, mỗi Unit sẽ có 1 game và 1 nội dungbài học khác nhau Cụ thé như sau:

Unit 1: Game Save Earth+ Chủ đề: bảo vệ môi trường, bảo vệ trái đất

+ Câu hỏi: cộng trừ số có 3 chữ số (không nhớ)

+ Game: với mỗi câu trả lời đúng, rác sẽ được đưa vào thùng rác và trồng

thêm được một cây xanh.

Unit 2: Game Christmas Eggs+ Chủ dé: yêu cầu nhặt trứng từ ông già nô-en

+ Câu hỏi: Cộng trừ số có 3 chữ số (có nhớ một lần)

+ Game: với mỗi câu trả lời đúng người học sẽ nhận được một quả trứng,

nhận được càng nhiều trứng thì sẽ càng mở ra rồng cấp cao

Unit 3: Math Game+ Chủ đề: luyện tập tính nhanh cùng bạn sóc

+ Câu hỏi: ngẫu nhiên về các chủ đề phép cộng, trừ, nhân, chia

+ Game: sau khi trả lời đúng câu hỏi trong thời gian quy định thì sẽ đếncâu hỏi kế tiếp

Unit 4: Game Dungeon

+ Chủ dé: cứu người khỏi mê cung

+ Câu hỏi: chủ đề về hình học

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 25

Trang 28

DO AN TOT NGHIỆP CHUONG II PHAN TICH VA THIET KE UNG DUNG

+ Game: cứu người lac trong mê cung bang cách vượt qua những câu hỏitrên đường thoát hiểm

2.1.1 Sơ đồ hoạt động chung của ứng dụng

Ứng dụng hoạt động theo một luồng chung như sau:

Ứng dụng chỉ có duy nhất một actor là người sử dụng(user) User có thể

thực hiện các chức năng: tham gia các bai hoc(unit 1, unit 2, unit 3, unit 4), cai đặt

âm thanh, thoát.

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 26

Trang 29

DO AN TOT NGHIỆP CHUONG II PHAN TICH VA THIET KE UNG DUNG

b Xây dựng use case hệ thông

Usecase Tổng Quan Ứng Dụng DrimLeam

Hình 2 2 Biểu đồ use case tổng quan của hệ thống

2.2 Unit 1: Game Save Earth

đúng, rác thải sẽ được dọn và trai dat sẽ có thêm một cây xanh.

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 27

Trang 30

DO AN TOT NGHIỆP

2.2.3 Thiết kế chi tiết[1]

a Use case chi tiết

CHUONG II PHAN TICH VA THIET KE UNG DUNG

¡ <<Include>>

' h

| <<Extend>> Come)

Hình 2 3 Use case chi tiết Unit 1 Save Earth

Mô ta use case:

e Trở lại màn hình Home: UC này cho phép user kết thúc bài hoc và trở về

lại màn hình chính.

e Chon đáp án: UC này cho phép user lựa chọn dap án.

e Hiền thị câu hỏi: UC này cho phép user xem nội dung câu hỏi

e _ Di chuyên xe rác: UC cho phép di chuyên xe rác đên vi trí đê dọn rác.

e Don rác: UC cho phép dọn rác thải.

b Kịch ban

Tén use case Hoc Unit 1.

Tac nhân User

Muc dich Vao bai hoc Unit 1.

Tiên điều kiện User đang ở màn hình chính.

Mô tả luồng sự

kiện chính

1 User nhấn chọn nút Unit 1

2 Hệ thống hién thi chủ đề của bai học và nút bắt dau

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03

Trang 31

DO AN TOT NGHIỆP CHUONG II PHAN TICH VA THIET KE UNG DUNG

User click chọn nút bat đầu

User click chon một dap án.

1.

8.

9.

10 Hệ thống hién thị kết quả gồm: số điểm, thời gian và nút

11 User click chọn nút quay về màn hình chính

Hệ thống hiền thị: có 5 câu hỏi, 4 bốn đáp án và phần game

gôm xe rác và các loại rác thải.

Hệ thống hiển thị đáp án đúng và nút câu hỏi kế tiếp

6.1 User trả lời đúng: hệ thống sẽ đi chuyền xe rác tới vị trírác thải để dọn

6.2 User trả lời sai: hệ thống bôi đỏ đáp án sai và bôi xanh

đáp án đúng.

User click chọn nút câu hỏi kế tiếp

Hệ thống quay lại bước 4

User tra lời hêt câu hỏi.

1 1d int Ma cau hoi.

2 result int Dap an dung.

3 quest string Nội dung cau hỏi.

Trang 32

DO AN TOT NGHIỆP CHUONG II PHAN TICH VA THIET KE UNG DUNG

string Đáp án D.

Bảng 2 2 Bảng mô tả lớp UI_QuestMng.cs STT Tên thuộc tinh Kiêu dữ liệu Nội dung

1 obj_nextBT GameObject Nút chuyền câu hỏi

2 questData Quest Dữ liệu câu hoi.

3 IstQuestInUse List<QuestInfor> Danh sách những câu

hỏi được sử dụng.

4 obj_btnEndQuest | GameObject Nút kết thúc bài hoc

5 questDisplay QuestDisplay Lớp thực hiện hiển thị

câu hỏi.

6 rect_trashCar RectTransform Vi trí của xe trở rác.

7 IstTrash List<RectTransform> VỊ trí của các rác thai.

8 IstTree List<RectTransform> Vi tri của các cây

xanh.

9 obj_result GameObject Kết qua của bai học

10 t_score Text Hiển thị số điểm

11 t time Text Hiển thị số thời gian

của người chơi.

12 _currentQuest int Số câu hỏi hiện tại

13 numRightAns int Số lượng câu hỏi đúng

14 countTime float Biến đếm thời gian

Trang 33

DO AN TOT NGHIỆP CHUONG II PHAN TICH VA THIET KE UNG DUNG

Bang 2 3 Bang mô ta lop QuestDisplay.csSTT Tên thuộc tính Kiểu dữ liệu Nội dung

1 obj_Content GameObject Giao dién cau hoi.

2 t_quest Text Hién thi câu hỏi

3 t numberQuest TextMeshProUGUI Hiển thi câu hỏi hiện

tại và tổng số câuhỏi.

4 t_ansA Text Hién thi dap an A

5 t_ansB Text Hién thi dap an B

6 t_ansC Text Hién thi dap an C.

7 t_ansD Text Hién thi dap an D

8 IstBGAnsBT List<Image> Danh sach hinh anh

cac nut dap an.

9 cl_normalAns Color32 Mau nút đáp án ở

d Biéu đồ lép thực thé pha phân tích

¢ Mỗi một UI_QuestMng quản lý nhiều QuestInfor và một QuestInfor được

quan lý bởi một UI QuestMng nên quan hệ giữa UI QuesrMng và

QuestInfo là 1-n.

Trang 34

DO AN TOT NGHIỆP CHUONG II PHAN TICH VA THIET KE UNG DUNG

e Mỗi một UI_QuestMng quản lý một QuestDisplay và một QuestDisplay

được quản lý bởi một UI_ QuestMng nên quan hệ giữa UI_QuestMng va

QuestInfo là 1-1.

Hình 2 4 Biểu đô lóp thực thé Unit 1

e Biéu đồ lóp thực thé pha thiết kế

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 32

Trang 35

DO AN TOT NGHIỆP CHUONG II PHAN TICH VA THIET KE UNG DUNG

4: an nut ket thuc.

Hình 2 6 Biểu đô tuần tự Unit 1

g Giao điện chơi

Cộng Trừ Số Có 3 Chữ Số

(không n Hãy giúp tớ dọn sạch rác thải

bằng cách trả lời đúng các

câu hỏi!

Hình 2 7 Phan mở dau game Save Earth

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 33

Trang 36

DO AN TOT NGHIỆP CHUONG II PHAN TICH VA THIET KE UNG DUNG

e Giao diện man học chính.

Hình 2 8 Giao diện chính game Save Earth

Trong giao diện bao gồm các rác thải, khi người học trả lời đúng thì rác sẽđược đưa vào trong xe rác và đồng thời sẽ có cây xanh mọc lên

public int id;

public int result;

public string quest;

Trang 37

DO AN TOT NGHIỆP CHUONG II PHAN TICH VA THIET KE UNG DUNG

[SerializeField] private GameObject obj Content;

[SerializeField] private Text t_quest;

[SerializeField] private TextMeshProUGUI t_numberQuest;

[SerializeField] private Text t_ansA;

[SerializeField] private Text t_ansB;

[SerializeField] private Text t_ansC;

[SerializeField] private Text t_ansD;

[SerializeField] private List<Image> lstBGAnsBT;

[SerializeField] private Color32 cl_normalAns;

[SerializeField] private Color32 cl_rightAns;

[SerializeField] private Color32 cl_wrongAns;

questDisplay.TAnsA.text = lstQuestInUse[_currentQuest] A;

questDisplay.TAnsB.text = 1stQuestTnUse[_ currentQuest].B;

questDisplay.TAnsC.text = 1stQuestTnUse[_ currentQuest].C;

questDisplay.TAnsD.text = lstQuestInUse[ currentQuest] D;

ResetBGOfButtonAns ();

obj nextBT.SetActive (false);

chosed = false;

}

e Phương thức: ChoseBT(int index)

Phương thức nay thực hiện xác nhận người choi đã nhắn vào đáp án nao

và thực hiện so sánh đáp án người chơi chọn với đáp án đúng Nếu người chơichọn đúng, nút đáp án sẽ chuyên sang màu xanh, rác sẽ được di chuyển vào

thùng và đồng thời sẽ mọc thêm một cây xanh trên trái đất Ngược lại nếu chọn

sai, đáp án đúng sẽ hiển thị màu xanh và đáp án người choi chọn sẽ được hiểnthị thành màu đỏ.

Nguyễn Văn Đạt - B17DCCN115 - DI7HTTT03 35

Trang 38

DO AN TOT NGHIỆP CHUONG II PHAN TICH VA THIET KE UNG DUNG

public void ChoseBT(int index)

-})z }

else

{

SoundMng.singleton.PlayAudio (E_TypeAudio.wrongAns) ; questDisplay.LstBgAnsBt [index - 1].color =

Ngày đăng: 08/03/2024, 16:41

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w