Tải bản đầy đủ (.pdf) (52 trang)

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM TRÒ CHƠI TRÊN ĐIỆN THOẠI DI ĐỘNG ANDROID NHẰM HÌNH THÀNH BIỂU TƯỢNG TOÁN CHO TRẺ MẦM NON

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.21 MB, 52 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC SƯ PHẠM

BÁO CÁO TỔNG KẾT ĐỀ TÀI
NGHIÊN CỨU KHOA HỌC SINH VIÊN
NĂM HỌC: 2016- 2017

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM TRÒ CHƠI
TRÊN ĐIỆN THOẠI DI ĐỘNG ANDROID NHẰM HÌNH
THÀNH BIỂU TƯỢNG TOÁN CHO TRẺ MẦM NON

Sinh viên thực hiện: NGUYỄN THỊ THANH HUYỀN
Người hướng dẫn: TH.S NGUYỄN THỊ THU HIỀN

Thái Nguyên, tháng 3 năm 2017


ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC SƢ PHẠM

BÁO CÁO TỔNG KẾT ĐỀ TÀI
NGHIÊN CỨU KHOA HỌC SINH VIÊN
NĂM HỌC: 2016- 2017

THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM TRÒ CHƠI
TRÊN ĐIỆN THOẠI DI ĐỘNG ANDROID NHẰM HÌNH
THÀNH BIỂU TƢỢNG TOÁN CHO TRẺ MẦM NON

Xác nhận

Sinh viên thực hiện



của ngƣời hƣớng dẫn

(ký, họ tên)

(ký, họ tên)

Thái Nguyên, tháng 3 năm 2017
i


MỤC LỤC
Trang bìa phụ ....................................................................................................................i
MỤC LỤC ...................................................................................................................... ii
DANH MỤC HÌNH VẼ ..................................................................................................v
LỜI NÓI ĐẦU .................................................................................................................1
1. Lý do chọn đề tài .........................................................................................................1
2. Mục tiêu nghiên cứu ....................................................................................................1
3. Đối tƣợng và phạm vi nghiên cứu ...............................................................................1
4. Phƣơng pháp nghiên cứu .............................................................................................2
5. Cấu trúc đề tài..............................................................................................................2
CHƢƠNG 1.TỔNG QUAN VỀ ENGINE UNITY ........................................................3
1.1. Unity là gì? ...............................................................................................................3
1.2. Sơ lƣợc lịch sử hình thành và phát triển của unity ...................................................4
1.2.1. Lịch sử hình thành .................................................................................................4
1.2.2. Giải thƣởng ............................................................................................................5
1.2.3. Khách hàng ............................................................................................................5
1.3. Tính năng của engine unity ......................................................................................5
1.4. Các khái niệm cơ bản trong unity.............................................................................6
1.4.1. Asset ......................................................................................................................6

1.4.2. Scene ......................................................................................................................7
1.4.3. Game Object ..........................................................................................................7
1.4.4. Components ...........................................................................................................8
1.4.5. Scripts ....................................................................................................................8
1.4.6. Prefab ...................................................................................................................10
1.5. Giao diện của unity .................................................................................................10
1.5.1. Cửa sổ Scene và Hierarchy..................................................................................11
1.5.2. Inspector ..............................................................................................................12
1.5.3. Cửa sổ Game .......................................................................................................12
1.5.4. Cửa sổ Project ......................................................................................................12
1.6. Tổng quan kiến trúc engine unity trên android ......................................................13
1.6.1. Kiến trúc tổng quan ............................................................................................. 13
1.6.2. Chu kỳ sống của thành phần script gắn trên đối tƣợng game ............................. 14
ii


1.7. Build game từ unity sang android ..........................................................................15
CHƢƠNG 2.MỘT SỐ VẤN ĐỀ TRONG CHƢƠNG TRÌNH TOÁN MẦM NON ...20
2.1. Chƣơng trình giáo dục mầm non ............................................................................20
2.2. Hình thành biểu tƣợng về số lƣợng, con số và phép đếm cho trẻ mầm non ..........22
2.2.1. Lứa tuổi 3-4 tuổi ..................................................................................................22
2.2.2. Lứa tuổi 4-5 tuổi ..................................................................................................23
2.2.3. Lứa tuổi 5-6 tuổi ..................................................................................................24
2.3. Hình thành biểu tƣợng kích thƣớc cho trẻ mầm non ..............................................25
2.3.1. Lứa tuổi 3-4 tuổi ..................................................................................................25
2.3.2. Lứa tuổi 4-5 tuổi ..................................................................................................26
2.3.3. Lứa tuổi 5-6 tuổi ..................................................................................................27
2.4. Hình thành biểu tƣợng hình dạng cho trẻ mầm non ...............................................27
2.4.1. Lứa tuổi 3-4 tuổi ..................................................................................................27
2.4.2. Lứa tuổi 4-5 tuổi ..................................................................................................28

2.4.3. Lứa tuổi 5-6 tuổi ..................................................................................................29
2.5. Vai trò, nhiệm vụ và những định hƣớng của việc hình thành biểu tƣợng toán học
cho trẻ mầm non ............................................................................................................30
2.5.1. Vai trò ..................................................................................................................30
2.5.2. Nhiệm vụ .............................................................................................................31
2.5.3. Quan điểm định hƣớng cho việc đổi mới phƣơng pháp hình thành biểu tƣợng
toán cho trẻ mầm non ....................................................................................................32
CHƢƠNG 3.XÂY DỰNG GAME TRÊN ĐIỆN THOẠI ANDROID NHẰM HÌNH
THÀNH BIỂU TƢỢNG TOÁN HỌC CHO TRẺ MẦM NON ...................................33
3.1. Nguyên tắc xây dựng game trên điện thoại di động android nhằm hình thành biểu
tƣợng toán cho trẻ mầm non ..........................................................................................33
3.1.1. Đảm bảo tính mục đích........................................................................................33
3.1.2. Đảm bảo tính hấp dẫn ..........................................................................................33
3.1.3. Đảm bảo tính vừa sức ..........................................................................................33
3.2. Các bƣớc xây dựng game trên điện thoại di động android nhằm hình thành biểu
tƣợng toán học cho trẻ mầm non ...................................................................................34
3.2.1. Lựa chọn nội dung hình thành biểu tƣợng toán học phù hợp với trẻ mầm non ..34
3.2.2. Chuẩn bị tƣ liệu ...................................................................................................34
3.2.3. Tiến hành thiết kế ................................................................................................ 35
iii


3.2.4. Build game ra Android ........................................................................................42
KẾT LUẬN ...................................................................................................................45
TÀI LIỆU THAM KHẢO ............................................................................................. 46

iv


DANH MỤC HÌNH VẼ

Hình 1.1: Hình minh họa đa nền .....................................................................................3
Hình 1.2: Asset trong Unity.............................................................................................6
Hình 1.3: Các Scenes của Unity ......................................................................................7
Hình 1.4: Game Object trong Unity ................................................................................7
Hình 1.5: Các Component trong Game Object ............................................................... 8
Hình 1.6: Cách tạo một script mới ..................................................................................9
Hình 1.7: Lập trình trên Unity bằng C# trên Visual Studio ............................................9
Hình 1.8: Một script đã đƣợc gắn vào một đối tƣợng .....................................................9
Hình 1.9: Prefab trong Unity .........................................................................................10
Hình 1.10: Giao diện Editor của Unity..........................................................................11
Hình 1.11: Đối tƣợng trong Hierarchy ..........................................................................11
Hình 1.12: Cửa sổ Inspector ..........................................................................................12
Hình 1.13: Tổng quan kiến trúc Unity...........................................................................13
Hình 1.14: Chu kỳ sống của thành phần script.............................................................. 15
Hình 1.15: Unity Preferences ........................................................................................16
Hình 1.16: Platform trong unity ....................................................................................16
Hình 1.17: Các thuộc tính trong PlayerSettings ............................................................ 17
Hình 1.18: Resolution and presentation ........................................................................17
Hình 1.19: Build game trong Unity ...............................................................................18
Hình 3.1: Main Menu ....................................................................................................35
Hình 3.2: Tạo Animation trong Unity ...........................................................................35
Hình 3.3: Giới thiệu game ............................................................................................. 36
Hình 3.4: Trợ giúp trong game ......................................................................................36
Hình 3.5: Các lựa chọn trong game bài học ..................................................................37
Hình 3.6: Game Đếm số ................................................................................................ 37
Hình 3.7: Gắn Audio vào trong game ...........................................................................38
Hình 3.8: Kéo Button vào Canvas .................................................................................38
Hình 3.9: Sự kiện On Click ...........................................................................................39
Hình 3.10: Game ghép cặp ............................................................................................ 42
Hình 3.11: Build game từ Unity ra Android..................................................................43

Hình 3.12: Xuất game ra file để cài đặt .........................................................................43
v


LỜI NÓI ĐẦU
1. Lý do chọn đề tài
Trong thời đại bùng nổ Internet cùng với sự phát triển vƣợt trội của công nghệ
thông tin, việc vận dụng những ứng dụng công nghệ thông tin vào đời sống hàng ngày
trở nên rất phổ biến, nhất là trong nghành giáo dục, từ cấp giáo dục mầm non đến cấp
THPT hay Đại học, Cao đẳng.
Đối với chƣơng trình giáo dục mầm non, việc dạy trẻ hình thành biểu tƣợng
toán học là một nhiệm vụ quan trọng, nó có thể đƣợc thực hiện bằng nhiều hình thức
khác nhau. Để phù hợp với đặc điểm tâm lý trẻ thì việc sử dụng những ứng dụng trò
chơi trên điện thoại di động hoặc máy tính đang đƣợc các bậc phụ huynh và giáo viên
hết sức quan tâm. Việc thiết kế và xây dựng đƣợc những trò chơi trí tuệ (thuộc về toán
học) trên các thiết bị di động là hết sức cần thiết. Qua đó, nâng cao chất lƣợng học tập
và tiếp thu kiến thức mà không khiến trẻ cảm thấy nhàm chán với tính chất khó và khô
khan của toán vừa mang tính giải trí qua những ứng dụng có đồ họa đẹp, bắt mắt.
Chính vì vậy, tôi đã lựa chọn vấn đề: “Thiết kế và xây dựng phần mềm trò
chơi trên điện thoại di động Android nhằm hình thành biểu tượng toán cho trẻ mầm
non” để thực hiện đề tài nghiên cứu khoa học của mình.
2. Mục tiêu nghiên cứu
Thiết kế đƣợc phần mềm trò chơi trên điện thoại di động Android nhằm hình
thành biểu tƣợng toán học cho trẻ mầm non.
3. Đối tƣợng và phạm vi nghiên cứu
 Đối tượng nghiên cứu
- Phần mềm Unity
- Chƣơng trình toán mầm non
 Phạm vi nghiên cứu
- Tìm hiểu, nghiên cứu lý thuyết về nền tảng game Unity

- Hiểu đƣợc nhiệm vụ, nội dung của giáo dục mầm non, cụ thể là chƣơng trình
toán cho trẻ mầm non.
- Thiết kế và xây dựng phần mềm trò chơi trên điện thoại di động Android.

1


4. Phƣơng pháp nghiên cứu
- Quan sát – điều tra: Điều tra thực trạng việc sử dụng trò chơi trên điện thoại
di động ứng dụng cho việc học của trẻ mầm non.
- Thu thập, nghiên cứu, phân tích tài liệu: Nghiên cứu về nền tảng game Unity;
nghiên cứu đặc thù và chƣơng trình chuẩn của toán ở bậc học mầm non; nghiên cứu
sách học toán cho trẻ mầm non,...
- Tham khảo ý kiến chuyên gia: Tiếp thu ý kiến đóng góp của các thầy cô,
những ngƣời có kinh nghiệm trong lĩnh vực tin học và ý kiến của bạn bè.
5. Cấu trúc đề tài
Lời nói đầu: Nêu ra lý do chọn đề tài, phƣơng pháp, nội dung tìm hiểu và mục
đích nghiên cứu, cấu trúc đề tài.
Chƣơng 1: Tổng quan về Engine Unity: Giới thiệu lịch sử của game Unity,
trình một số khái niệm cơ sở, các tính năng cơ bản, kiến trúc engine Unity trên
Android và cách build game Unity sang Android
Chƣơng 2: Một số vấn đề trong chƣơng trình toán mầm non: Tìm hiểu về
nội dung, chƣơng trình giáo dục mầm non nói chung và chƣơng trình toán học cho trẻ
mầm non nói riêng
Chƣơng 3: Xây dựng game trên điện thoại di động Android nhằm hình
thành biểu tƣợng toán cho trẻ mầm non
Kết luận: Nêu lên những vấn đề đã tìm hiểu, một số công việc chính đã thực
hiện đƣợc và hƣớng phát triển tiếp theo của đề tài trong tƣơng lai.
Tài liệu tham khảo
Trong khuôn khổ thời gian cho phép để làm một đề tài nghiên cứu khoa học và

với vốn kiến thức còn rất nhiều hạn chế, đề tài của em không thể tránh khỏi những
thiếu sót. Em rất mong nhận đƣợc sự đóng góp và chỉ bảo của quý thầy cô và các bạn.
Em xin chân thành cảm ơn các thầy cô giáo trong Khoa đã tận tình giảng dạy,
trang bị cho em những kiến thức quý báu trong những năm học vừa qua. Đặc biệt em
xin cảm ơn cô giáo ThS. Nguyễn Thị Thu Hiền đã tận tình hƣớng dẫn, chỉ bảo em
trong suốt thời gian thực hiện đề tài.
Em xin chân thành cảm ơn!
Sinh viên thực hiện

Nguyễn Thị Thanh Huyền
2


CHƢƠNG 1

TỔNG QUAN VỀ ENGINE UNITY
1.1. UNITY LÀ GÌ?
Mặc cho sự bất đồng do có quá nhiều nền tảng game khác nhau, một công cụ
phát triển đang giúp hợp nhất nghành công nghiệp này: engine game Unity. Chiếm tới
45% cổ phần thị trƣờng, với 47% nhà phát triển game dựa vào nó, hơn 600 triệu ngƣời
trên toàn thế giới chơi những game đƣợc tạo ra từ Unity trên 21 nền tảng khác nhau- từ
trình duyệt trên PC, handheld đến thiết bị thực tế ảo VR,..
Unity là một trong những engine đƣợc giới làm game không chuyên cực kì ƣa
chuộng bởi khả năng tuyệt vời của nó là phát triển trò chơi đa nền. Trình biên tập có
thể chạy trên Windows và Mac OS, và có thể xuất ra game cho Windows, Mac, Wii,
iOS, Android. Game cũng có thể chơi trên trình duyệt web thông qua plugin Unity
Web Player. Unity mới bổ sung khả năng xuất ra game trên widget cho Mac, và cả
Xbox 360, PlayStation 3.

nh 1.1: Hình minh họa đa nền

Unity là một engine đƣợc thiết kế để hỗ trợ phát triển game 3D nhƣng hoàn
toàn có thể phát triển game 2D trên engine này. Việc xây dựng game 2D đƣợc thực
hiện bằng cách xây dựng các đối tƣợng 2D trên nền 3D với camera đƣợc cố định ở
trục Z.
Chỉ với khoản tiền bỏ ra khá khiêm tốn (1.500 USD) là phiên bản pro đã nằm
trong tay của chúng ta, dĩ nhiên tại Việt Nam số tiền này vẫn là quá lớn nhƣng thật
may là đã có phiên bản Unity Free. Tuy nhiên, nhiều tính năng quan trọng (Network)
3


bị cắt giảm nhƣng đó không phải là vấn đề quá lớn nếu muốn phát triển một tựa game
tầm trung.
Vào năm 2009, Unity nằm trong top 5 game engine tốt nhất cho việc sản xuất
game với chỉ sau 4 năm phát triển. Unity đứng thứ 4, xếp sau Unreal Engine 3,
Gamebryo Engine (đƣợc VTC Studio mua về phát triển SQUAD) và Cry Engine2.
Lƣợng tài liệu hƣớng dẫn Unity rất phong phú. Hơn thế nữa nó còn có sẵn một cộng
đồng cực lớn với diễn đàn riêng. Bất cứ điều gì không hiểu chúng ta đều có thể thoải
mái hỏi và nhận đƣợc câu trả lời nhanh chóng.
Quá trình tạo địa hình cũng nhƣ truy xuất từ các phần mềm 3DSMax, Maya,
Cinema4D… rất nhanh chóng. Sức mạnh và sự tiện lợi của Unity là vô cùng to lớn.
 Sức mạnh: Unity có thể tạo ra đƣợc nhiều loại game 3D đa dạng, dễ sử dụng
với ngƣời làm game chuyên nghiệp, chất lƣợng cao, chạy hầu hết trên các hệ điều
hành.
 Sự tiện lợi: Nếu chúng ta là một ngƣời chuyên dùng 3Dmax, hay Maya hoặc
phần mềm mã nguồn mở Blender thì quả là thật tuyệt, chúng ta sẽ có một lợi thế lớn
khi viết game trên Unity này, bởi công việc tạo các mô hình 3D sẽ trở nên dễ dàng hơn
rất nhiều, việc kết hợp giữa ngƣời lập trình và ngƣời thiết kế các mô hình sẽ nhanh và
hiệu quả hơn. Trong Unity chúng ta có thể import trực tiếp các file mô hình đang thiết
kế và sẽ thiết kế hoàn thiện nếu chƣa xong trong khi đó công việc import chỉ diễn ra
một lần. Không nhƣ việc phải dùng các công cụ khác để thực hiện viết game chúng ta

sẽ phải xuất chúng ra một dạng nào đó và mỗi lần sửa lại phần mô hình chúng ta lại
phải import lại, và nhƣ thế là quá mất thời gian trong việc tạo và chỉnh sửa các mô
hình theo ý muốn. Ngoài ra Unity còn cho chúng ta trực tiếp tạo các mô hình nếu
muốn. Việc đặt các thuộc tính vật lý trong Unity cũng cực kì dễ dàng và hỗ trợ sẵn
nhiều chức năng [6].
1.2. SƠ LƢỢC LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN CỦA UNITY
1.2.1. Lịch sử hình thành
Phần lõi của Unity ban đầu đƣợc viết bởi Joachim Ante vào năm 2001. Sau đó
công ty đƣợc hình thành vào năm 2005 và bắt đầu với phiên bản 1.0. Đến năm 2007,
Unity đƣợc nâng lên phiên bản 2.0. Unity bắt đầu hỗ trợ iPhone vào năm 2008. Vào
tháng 6/ 2010, Unity chính thức hỗ trợ Android và cho ra đời phiên bản 3.0 có hỗ trợ
Android vào tháng 9/2010. Có thể thấy tốc độ phát triển của Unity khá nhanh.
4


1.2.2. Giải thƣởng
Unity đã đoạt đƣợc nhiều giải lớn với những giải chính sau:
- Năm 2006, Unity đạt “Best Use of Mac OS X Graphics” tại Apple’s
WWDC. Đây là lần đầu tiên một công cụ phát triển game đạt đƣợc chất lƣợng do giải
thƣởng uy tín này đƣa ra.
- Năm 2009, Unity Technologies có tên trong “Top 5 công ty game của năm”
do Gamasutra tổ chức.
- Năm 2010, Unity đoạt giải Best Engine Finalist do Develop magazine bình
chọn, giải Technology Inovation Award của Wall Street Journal ở thể loại phần mềm.
1.2.3. Khách hàng
Unity đạt trên 250.000 ngƣời đăng ký sử dụng gồm Bigpoint, Cartoon Network,
Coca-Cola, Disney, Elictronic Arts, LEGO, Microsoft, NASA, Ubisoft, Warner Bros,
các hãng phim lớn nhỏ, các chuyên gia độc lập, sinh viên và những ngƣời đam mê [6].
1.3. TÍNH NĂNG CỦA ENGINE UNITY
 Môi trƣờng phát triển tích hợp với tính năng kế thừa, khả năng chỉnh sửa đồ

họa, chức năng kiểm tra chi tiết, và đặc biệt tính năng xem trƣớc game ngay
trong lúc xây dựng (live game preview).
 Triển khai đƣợc trên nhiều nền tảng:
- Chƣơng trình độc lập trên Windows và Mac OS.
- Trên web, thông qua Unity Web Player plugin cho Internet Explorer,
Firefox, Safari, Opera, Chrome, cho cả Windows và Mac OS.
- Trên Mac OS Dashboard widget.
- Cho Nintendo Wii (cần mua license thêm).
- Cho iPhone, iPad application (cần mua license thêm).
- Cho Google Android (cần mua license thêm).
- Cho Mcrosoft Xbox 360 (cần mua license thêm).
- Cho Sony PlaySation 3 (cần mua license thêm).
 Tài nguyên (model, âm thanh, hình ảnh…) đƣợc tải vào trong Unity và tự
động cập nhật nếu tài nguyên có sự thay đổi. Unity hỗ trợ các kiểu định dạng
từ 3DS Max, Maya, Blender, Cinema 4D và Cheetah 3D.
5


 Graphics engine sử dụng Direct3D (Windows), OpenGL (Mac, Windows),
OpenGL ES (iPhone OS), và các API khác trên Wii.
 Hỗ trợ bump mapping, reflection mapping, parallax mapping, Screen Space
Ambient Occlusion…
 Unity Asset Server: Đây là một tính năng khá mới của Unity, theo đó Unity sẽ
cung cấp một hệ thống quản lý theo dạng phiên bản cho tất cả các asset và
script. Đây là một kho chứa các tài nguyên cần thiết cho việc làm game. Khi
import cũng nhƣ sửa chữa, trạng thái của asset ngay lập tức đƣợc cập nhật.
Server chạy trên database opensourse PostgreSQL và có thể truy cập trên cả
Mac và Windows, Linux. Asset Server đòi hỏi một khoản phí phụ trội là $499
cho mỗi bản coppy Unity, và một license Unity Pro.
1.4. CÁC KHÁI NIỆM CƠ BẢN TRONG UNITY

1.4.1. Asset
Asset là tài nguyên xây dựng nên một dự án trên Unity. Những tài nguyên có
thể là hình ảnh, âm thanh, mô hình 3D, chất liệu (material), texture… hoặc cả một
project hoàn chỉnh. Unity sẽ tham chiếu đến các tập tin chúng ta sẽ sử dụng để tạo ra
các tài nguyên cho trò chơi. Đây cũng là lý do tại sao trong bất kì thƣ mục chứa project
sử dụng Unity thì tất cả các tập tin tài nguyên phải đƣợc lƣu trữ trong một thƣ mục con
tên là Asset.

nh 1.2: Asset trong Unity
Các asset do chính những nhà phát triển game tạo ra và có thể đƣợc download
miễn phí hoặc trả phí trên Unity Asset Store. Đây là một trong những tính năng rất
hay của Unity. Các asset này sẽ giúp giảm thiểu rất nhiều thời gian do việc thiết kế và
lập trình game.

6


1.4.2. Scene
Trong Unity, một cảnh chơi (hoặc một phân đoạn) là những màn chơi riêng
biệt, một khu vực trong game hoặc thành phần có trong nội dung của trò chơi (các
menu). Các thành phần này đƣợc gọi là Scene. Bằng cách tạo ra nhiều scenes, chúng ta
có thể phân phối thời gian và tối ƣu tài nguyên, kiểm tra các phân đoạn trong game
một cách độc lập.

nh 1.3: Các Scenes của Unity
1.4.3. Game Object
Khi Asset đƣợc sử dụng trong các Scene, Unity định nghĩa đó là Game Object.
Đây là một thuật ngữ thông dụng, đặc biệt trong mảng lập trình. Tất cả các Game
Object đều chứa ít nhất một thành phần cơ bản là Transform, lƣu trữ thông tin về vị trí,
góc xoay và tỉ lệ của đối tƣợng. Thành phần Transform có thể tùy biến và thay đổi

trong quá trình lập trình.

nh 1.4: Game Object trong Unity
7


1.4.4. Components
Component là các thành phần bổ sung tính năng cho Game Object. Những
thành phần nhƣ xử lý va chạm, ánh sáng, âm thanh… đƣợc gọi là các Component. Đa
số các Component phụ thuộc vào Transform, vì nó chứa các thuộc tính cơ bản của
Game Object.
Về bản chất, Game Object đƣợc cấu thành từ các Component, các đặc tính, đặc
điểm và khả năng của Game Object đều do các Component quy định. Vì vậy, chúng ta
có thể xây dựng Game Object với nhiều hiệu ứng phong phú. Hình dƣới đây minh họa
các Component đƣợc thể hiện trong Inspector:

nh 1.5: Các Component trong Game Object
1.4.5. Scripts
Script là thành phần quan trọng nhất trong Unity, có thể xem Scripts nhƣ là linh
hồn của game. Bất kỳ game nào, dù đơn giản hay phức tạp, đều cần phải có các Scripts
để tƣơng tác với các thao tác của ngƣời chơi, quản lý sự kiện, quản lý màn chơi, xử lý
logic game…Chúng ta có thể viết kịch bản cho game bằng C# hoặc Java Scripts. Theo
nhiều ngƣời đã sử dụng Unity thì code bằng C# sẽ giúp game chạy nhanh hơn và giúp
kiểm soát code tốt hơn do tất cả các biến phải đƣợc khai báo rõ ràng. Mỗi file script
C# là một class bắt buộc kế thừa từ lớp MonoBehaviour, có tên class phải trùng với
tên file Script.
8


nh 1.6: Cách tạo một script mới

Giao diện code C# rất dễ nhìn và quen thuộc khi edit trên Visual Studio 2015

nh 1.7: Lập trình trên Unity bằng C# trên Visual Studio
Đƣa đoạn script gắn vào một đối tƣợng để nó đƣợc thực thi.

nh 1.8: Một script đã được gắn vào một đối tượng
9


1.4.6. Prefab
Prefabs là những Game Object, đƣợc định nghĩa ra để lƣu trữ và tái sử dụng
bằng cách nhân bản các Prefab ra thành nhiều Game Object. Những Game Object
đƣợc nhân bản sẽ giống nhau hoàn toàn, trừ thành phần Transform để dễ phân biệt và
quản lý.
Bên trong Prefab có thể chứa đựng các thành phần hay đối tƣợng khác nhau,
chúng ta có thể viết kịch bản cho hành động của Prefab (khởi tạo, di chuyển hay hủy
đối tƣợng). Chúng ta có thể sử dụng đối tƣợng này nhiều lần trong trò chơi, và cũng có
thể sử dụng lại cho các project khác. Prefab cho phép chúng ta lƣu trữ các đối tƣợng,
toàn bộ thành phần bên trong và cấu hình hiện tại.
Cách tạo Prefab khá đơn giản, chỉ cần kéo Game Object vào cửa sổ Project,
chúng ta đã chuyển từ Game Object thành Prefabs.

nh 1.9: Prefab trong Unity
1.5. GIAO DIỆN CỦA UNITY
Giao diện của Unity gồm 5 phần chính nhƣ sau:
1. Cửa sổ Scene: nơi thiết kế, xây dựng trò chơi.
2. Hierarchy: danh sách các Game Object trong một cảnh Game.
3. Inspector: màn hình cài đặt cho tài nguyên/ đối tƣợng đƣợc chọn.
4. Cửa sổ Game: cửa sổ xem trƣớc game, nó chỉ hoạt động khi ngƣời dùng
nhấn Play.

5. Cửa sổ Project: danh sách các tài nguyên trong project, có vai trò nhƣ một
thƣ viện.
Các cửa sổ này ở nhiều tab khác nhau và có thể bật, tắt.

10


nh 1.10: Giao diện Editor của Unity
1.5.1. Cửa sổ Scene và Hierarchy
Cửa sổ Scene là nơi xây dựng toàn bộ các đối tƣợng trong game. Cửa sổ này
cung cấp các góc nhìn khác nhau, có thể nhìn dạng phối cảnh hay song song. Ở đây,
chúng ta có thể kéo thả các đối tƣợng hay di chuyển, xoay...

Bên trên cửa sổ có thanh công cụ gồm bốn nút điều khiển. Truy cập từ bàn
phím bằng cách sử dụng các phím Q, W, E và R.
- Hand (phím tắt Q): Cho phép di chuyển trong cửa sổ Scene, xoay góc góc
nhìn, phóng to, thu nhỏ góc nhìn.
- Translate (phím tắt W): Dùng để di chuyển đối tƣợng.
- Rotate (phím tắt E): Xoay đối tƣợng.
- Scale (phím tắt R): Phóng to, thu nhỏ, tăng giảm tỷ lệ kích thƣớc của đối
tƣợng.
Trong cửa sổ Hierarchy cho phép hiển thị tất cả các đối tƣợng của Project theo
dạng cây. Khi chọn một đối tƣợng trong cửa sổ này thì đối tƣợng đó trên khung cảnh ở
cửa sổ Scene cũng đồng thời đƣợc chọn.

nh 1.11: Đối tượng trong Hierarchy
11


1.5.2. Inspector

Inspector là cửa sổ thay đổi theo ngữ cảnh, tùy thuộc vào đối tƣợng đang
đƣợc chọn mà cửa sổ sẽ hiển thị các thành phần, thuộc tính phù hợp của đối tƣợng đó.
Cửa sổ Inspector sẽ hiển thị tất cả thông tin, các thành phần trong đối tƣợng
game đang chọn và cho phép điều chỉnh các biến của chúng. Có thể xem đây là cửa sổ
Properties khi thiết kế giao diện Winform trên Visual Studio.

nh 1.12: Cửa sổ Inspector
1.5.3. Cửa sổ Game
Cửa sổ Game cho phép hiển thị những gì có trong cửa sổ Scene và sẽ hoạt động
khi nhấn nút Play. Trong cửa sổ này, chúng ta có thể chọn các kích cỡ hiển thị khác
nhau để build cho các loại máy khác nhau. Chúng ta có thể chơi thử game trên cửa sổ
này khi nhấn nút Play.
Khi cửa sổ này hoạt động thì mọi chỉnh sửa trên cửa sổ Scene và cài đặt cho các
đối tƣợng chỉ là tạm thời và khi nhấn nút Stop thì cửa sổ này về lại trạng thái tĩnh, mọi
chỉnh sửa trƣớc đó là không còn.
1.5.4. Cửa sổ Project
Cửa sổ Project thể hiện nội dung bên trong thƣ mục Assets của project. Khi
thêm tài nguyên vào thƣ mục Assets ngay lập tức chúng sẽ tự động đƣợc cập nhật vào
project Unity của chúng ta.

12


Các tài nguyên của game đều đƣợc chứa trong cửa sổ Project và đƣợc tổ chức
theo các thƣ mục của dự án.
Cửa sổ Project cũng cho phép chúng ta tạo ra một số tài nguyên cơ bản nhƣ
Script, Material...
1.6. TỔNG QUAN KIẾN TRÚC ENGINE UNITY TRÊN ANDROID
1.6.1. Kiến trúc tổng quan
Engine Unity hỗ trợ cho chúng ta UnityAPI để viết script game. UnityAPI và

API lập trình game trong Unity rất mạnh. UnityAPI chứa các đối tƣợng và phƣơng
thức hỗ trợ hầu hết các đối tƣợng và các loại thành phần trong Unity.
Trong một scene thƣờng có nhiều đối tƣợng game. Mỗi đối tƣợng đều có thể có
hoặc không có đoạn script nào gắn lên đó. Nếu muốn gắn script vào đối tƣợng, ta bắt
buộc phải kế thừa class đó từ lớp MonoBehaviour của UnityAPI và tên class phải
trùng với tên file script. Mỗi script khi gắn lên đối tƣợng game đều đƣợc đối tƣợng
game xem nhƣ một thành phần bên trong và đƣợc cấp phát vùng nhớ khi chạy game
[5, 6].

nh 1.13: Tổng quan kiến trúc Unity
Bên trong UnityAPI chứa rất nhiều lớp hỗ trợ lập trình game, trong đó có một
số lớp quan trọng nhƣ:

13


- MonoBehaviour: tất cả các script muốn gắn vào một đối tƣợng game bắt buộc
phải kế thừa từ lớp này.
- GameObject: lớp cha của tất cả các thực thể trong scene.
- Component: lớp cha của tất cả các thành phần có thể gắn vào đối tƣợng.
- Transform: giúp thay đổi vị trí, xoay, biến đổi tỷ lệ mô hình.
- Input: hỗ trợ lập trình với chuột, cảm ứng đa điểm, cảm biến gia tốc.
- Camera: giúp lập trình camera.
- Light: giúp tạo ánh sáng trong game.
- Projector: giúp chiếu texture lên bề mặt vật thể.
- ParticleEmitter: hỗ trợ các hiệu ứng particle đẹp mắt.
- Audio: hỗ trợ lập trình với âm thanh.
- Animation: chạy chuyển động của mô hình nhân vật.
- Rigidbody: giúp tạo hiệu ứng vật lý liên quan đến trọng lực nhƣ bóng nảy,
lăn…

- CharacterController: giúp điều khiển nhân vật di chuyển theo độ cao địa hình.
- Collider: hỗ trợ lập trình va chạm giữa các vật thể.
- GUI: giúp lập trình giao diện ngƣời dùng trên Unity.
1.6.2. Chu kỳ sống của thành phần script gắn trên đối tƣợng game
Chu kỳ sống của mỗi thành phần script đƣợc tính kể từ khi scene đƣợc chạy cho
đến lúc scene bị tắt hoặc chuyển sang scene khác.

14


nh 1.14: Chu kỳ sống của thành phần script
Tùy theo trạng thái của scene mà sự kiện tƣơng ứng sẽ đƣợc gọi.
- Awake: đƣợc gọi khi script đƣợc load xong.
- Start: đƣợc gọi khi script đƣợc load xong nếu thành phần script đó không bị
disable.
- Update: đây là sự kiện thƣờng sử dụng nhất và đƣợc gọi liên tục từng frame
để vẽ lại màn hình.
- LateUpdate: sự kiện này chạy sau sự kiện Update và đƣợc gọi liên tục từng
frame.
- OnGUI: sự kiện này dùng để vẽ GUI và đƣợc gọi liên tục từng frame, chỉ
trong sự kiện này ta mới có thể sử dụng các lớp hỗ trợ tạo giao diện ngƣời dùng của
UnityAPI.
- OnDestroy: đƣợc gọi khi thành phần của script bị hủy khỏi bộ nhớ.
1.7. BUILD GAME TỪ UNITY SANG ANDROID
Để thực hiện biên dịch đƣợc game cho Android trong Unity ta thực hiện nhƣ sau:
 Bƣớc 1: Tải file sdk và jdk về máy, cài đặt chúng với phiên bản đúng với hệ
điều hành của máy mình là 32 bit hay 64 bit. Sau khi download xong, giải nén và trỏ
vào thƣ mục SDK và JDK trong Menu -> Edit -> Prefernces -> External Tools.
15



nh 1.15: Unity Preferences
 Bƣớc 2: Trong giao diện unity vào File -> BuildSettings. Trong Platform
chọn Android.

nh 1.16: Platform trong unity
 Bƣớc 3: Chọn Player Settings, sau khi chọn xong xuất hiện cửa sổ Inspector
ở bên phía tay phải nhƣ sau:

16


nh 1.17: Các thuộc tính trong PlayerSettings
Trong đó: Company Name là phần để điền tên công ty.
Product Name là phần để điền tên sản phẩm.
Default Icon là hình ảnh nhỏ sẽ đại diện cho game của bạn.
Default Cursor: là hình con trỏ chuột.
 Bƣớc 4: Các thành phần trong cửa sổ Player Settings
 Với thành phần Resolution and presentation

nh 1.18: Resolution and presentation
Trong hình này chúng ta thực hiện chọn chế độ tự động cho phép màn hình
game của chúng ta tự động xoay hoặc đặt chế độ thẳng đứng hay nằm ngang.
Màn hình thẳng đứng ta để là: Protrait
Màn hình nằm ngang ta để là: Landscape
17


 Icon: Là phần biểu tƣợng cho game, có thể thay đổi theo kích thƣớc đối với
mỗi độ phân giải của điện thoại.

 Splash Image: Là ảnh hiển thị khi bắt đầu vào game, thông thƣờng thì bản
unity free khi vào game sẽ xuất hiện hình ảnh của unity, còn phiên bản có bản quyền
hay crack ta có thể đặt ảnh của mình tại đây khi bắt đầu mở game.
 Với phần Other setting

 Bundle Identifier: Chúng ta phải đặt tên identifier cho game chúng ta nhƣ
trên trong đó không đƣợc có kí tự số ban đầu.
 Version: là phiên bản game mà chúng ta biên dịch.
 Device Filter: là thiết bị có hỗ trợ cho chip ARMv7 hay x86 có thể cài đặt
đƣợc hay không, khi chọn hai chế độ này thì dung lƣợng game sẽ thay đổi.
 Bƣớc 5: Thực hiện Build trong cửa sổ build setting.

nh 1.19: Build game trong Unity
Trong đó:
 Development Build: Dành cho nhà phát triển
18


 Script Debugging: Dành cho debug game
 Build: Build ra thƣ mục nào đó trên máy tính
 Build And Run: Thực hiện build và chạy luôn (phải cắm một đầu dây lối
tới điện thoại)

19


×