KHOA CÔNG NGH THÔNG TIN
*************
NG D HA 2D
VÀO PHÁT TRIN GAME TRÊN
H U HÀNH ANDROID KHÓA LUN TT NGHII HC
2015
KHOA CÔNG NGH THÔNG TIN
*************
Cuối cùng, con kính gửi lời cảm ơn sâu sắc nhất tới gia đình, cảm ơn cha mẹ
đã tạo điều kiện tốt nhất cho con học tập để có được như ngày hôm nay. Và xin
cảm ơn tất cả mọi người đã tin tưởng, khích lệ và động viên tôi trong suốt thời gian
qua.
Hà Nội, ngày 08 tháng 05 năm 2015
Sinh viên
Vũ Quang Trung
L
Tên em là: Vũ Quang Trung
Sinh viên lớp: K37A – Tin học, khoa Công nghệ Thông tin, trường Đại học
Sư phạm Hà Nội 2.
Em xin cam đoan:
1. Nội dung đề tài: “Ứng dụng đồ họa 2D vào phát triển Game trên hệ điều
hành Android” là nghiên cứu của riêng em.
2. Kết quả nghiên cứu của em không trùng với bất cứ một kết quả nào của
những tác giả khác.
Nếu sai em xin hoàn toàn chịu trách nhiệm.
Hà Nội, ngày 08 tháng 05 năm 2015
Sinh viên
Vũ Quang Trung
DANH MC HÌNH NH
Hình ảnh
Nội dung
Trang
Hình 1.1
Kiến trúc hệ điều hành Android
41
DANH MC BNG
Bảng
Nội dung
Trang
Bảng 3.1
Danh sách actor
29
Bảng 3.2
Danh sách use case
30 MC LC
M U 1
H U HÀNH ANDROID 5
1.1 5
1.2 H 6
1.2.1 Android 1.0 6
1.2.2 Android 1.1 6
1.2.3 Android 1.5 Cupcake 6
1.2.4 Android 1.6 Donut 7
1.2.5 Android 2.0 và 2.1 Eclair 7
1.2.6 Android 2.2 Froyo 8
1.2.7 Android 2.3 Gingerbread 8
1.2.8 Android 3.x HonyComb 9
1.2.9 Android 4.0 Ice Cream Sandwich 9
1.2.10 Android 4.1 Jelly Bean 9
1.2.11 Android 4.2 Jelly Bean 10
3.2.2 29
3.2.2.1 Danh sách actor 29
3.2.2.2 Use Case 30
3.3 34
3.4 38
KT LUNG PHÁT TRIN 42
TÀI LIU THAM KHO 43
1
M U
1. Lý do ch tài
Ngày nay nền công nghiệp giải trí đang phát triển rất mạnh trên thế giới, bao
gồm các thành phần cơ bản như: Game, âm nhạc, thời trang, chương trình truyền
hình, điện ảnh, Gameshow, Các mảng nằm trong ngành giải trí không chỉ mang
tính giải trí mà còn mang nhiều giá trị về văn hóa, lối sống, phong tục của con
người từng vùng miền, từng quốc gia, đồng thời quảng bá hình ảnh của đất nước tới
các nước khác trên thế giới.
Có thể nói một trong những ngành giải trí mang lại nhiều lợi nhuận nhất đó
là game. Game là lĩnh vực giải trí tương tác quan trọng hàng đầu trong ngành công
nghiệp hiện đại. Theo báo cáo thị trường toàn cầu Newzoo năm 2014, ngành công
nghiệp Game ước tính doanh thu 81,5 tỷ USD, tăng trưởng 7,8%, dự kiến lên đến
102,9 tỷ USD (2017). Lý do quan trọng nhất của sự phát triển chính là thị trường
Châu Á chiếm đến 82% doanh thu và 45% thị phần ngành game thế giới (2014).
Với doanh thu hơn 1,2 tỷ USD (2014), tăng trưởng 6%, Việt Nam hiện là thị trường
game lớn nhất Đông Nam Á và top 10 thị trường game online phát triển nhanh nhất
thế giới. Riêng game online thu hút sự tham gia của khoảng 40 công ty phát hành
game, giải quyết việc làm cho hơn 7.500 người.
Trong đó, thị trường nội dung di động toàn cầu trị giá 10,5 tỷ đô (2014) và
dự kiến đạt 18,6 tỷ đô (2017), tỷ lệ tăng trưởng hàng năm 19% (2014-2017). Riêng
khu vực Châu Á, thị trường nội dung di động trị giá 7,4 tỷ đô (2014), dự kiến đạt
Đồ họa 2D sử dụng để lập trình game giúp hiểu rõ hơn các kỹ năng lập trình,
khả năng sáng tạo. Chương trình được xây dựng nếu được đưa vào thị trường cho
người sử dụng sẽ giúp người dùng có thời gian thư giãn chơi game bên chiếc điện
thoại.
3
6. u
Phương pháp nghiên cứu lý luận
Nghiên cứu qua việc đọc sách, báo và các tài liệu liên quan nhằm xây dựng
cơ sở lý thuyết của đề tài và các biện pháp cần thiết để giải quyết các vấn đề của
đề tài.
Phương pháp chuyên gia
Tham khảo ý kiến của các chuyên gia để có thể thiết kế chương trình phù
hợp với yêu cầu thực tiễn. Nội dung xử lý nhanh đáp ứng nhu cầu ngày càng cao
của người dùng.
Phương pháp thực nghiệm
Thông qua kinh nghiệm chơi game, quan sát thực tế, yêu cầu của cơ sở,
những lý luận được nghiên cứu và kết quả đạt được qua những phương pháp trên.
7. Cu trúc khóa lun
Chương 1: Hệ điều hành Android
Nội dung chính của chương một là giới thiệu một cách tổng quan về
hệ điều hành Android. Hệ điều hành Android qua từng giai đoạn phát triển
và kiến trúc, hệ thống tệp tin trên hệ điều hành này.
Chương 2: Lý thuyết đồ họa 2D
- Giới thiệu lý thuyết đồ họa 2D.
- Những thành phần cơ bản của đồ họa máy tính.
- Các ứng dụng sử dụng kỹ thuật đồ họa 2D.
- Tìm hiểu lý thuyết đồ họa của hệ điều hành Android, một số thành
phần quan trọng của đồ họa 2D của hệ điều hành này.
nhà sản xuất tùy chỉnh để cài đặt trên các Smart TV, máy chơi game và các thiết bị
điện tử khác. Bản chất mở của Android cũng khích lệ một đội ngũ đông đảo lập
trình viên và những người đam mê sử dụng mã nguồn mở để tạo ra những dự án do
cộng đồng quản lý. Những dự án này bổ sung các tính năng cao cấp cho những
người dùng thích tìm tòi hoặc đưa Android vào các thiết bị ban đầu chạy hệ điều
hành khác.
6
1.2 H u hành Android qua tn
Cho đến nay, hệ điều hành Android đã trải qua hàng loạt các thay đổi, nâng
cấp.
1.2.1 Android 1.0
Hệ điều hành Android thời gian đầu ra mắt mang những đặc điểm, tính năng
thú vị như:
Thanh thông báo kéo từ trên xuống cho phép người dùng xem nhanh các
thông tin ngày giờ, tin nhắn, cuộc gọi…
Màn hình chính gồm các biểu tượng chương trình người dùng hay truy cập.
Tiện ích là các ứng dụng nhỏ trên màn hình chính, hoạt động và cung cấp
thông tin liên tục.
Tích hợp chặt chẽ với Gmail.
1.2.2 Android 1.1
Phiên bản cập nhật đầu tiên của hệ điều hành Android giúp chỉnh sửa các lỗi
gặp phải trên phiên bản 1.0.
Cập nhật phần mềm tự động qua OTA (Over The Air) được bổ sung.
1.2.3 Android 1.5 Cupcake
Giao diện trông bóng bẩy, mượt hơn. Nhưng giao diện không phải là một điểm
nhấn của Android 1.5, người dùng quan tâm đến các tính năng mới mà nó mang
lại, chẳng hạn như:
Bàn phím ảo lần đầu tiên xuất hiện.
Cải tiến Tiện ích: Kho ứng dụng tiện ích phong phú và đa dạng hơn.
8
Android 2.1
Ra mắt chủ yếu để sửa lỗi và thêm hàm API để lập trình viên can thiệp sâu
hơn vào hệ thống và nó hỗ trợ thêm vài tính năng như Live Wallpaper, chuyển
giọng nói thành văn bản và một màn hình khóa mới.
1.2.6 Android 2.2 Froyo
Android 2.2 được ra mắt trong năm 2010. Giao diện màn hình chính đã được
thay đổi, từ 3 màn hình chính tăng lên thành 5 màn hình. Dãy nút kích hoạt nhanh
chế độ gọi điện, web và App Drawer cũng đã xuất hiện.
Tính năng trạm phát Wifi (Wifi Hotspot) cũng xuất hiện, cách copy, paste
mới tốt hơn. Nhiều tính năng bảo mật mới cũng xuất hiện. Việc hỗ trợ duyệt web
với Flash là điểm đáng quan tâm. Bổ sung thêm tính năng di chuyển một phần ứng
dụng từ bộ nhớ máy sang thẻ nhớ, giúp tiết kiệm dung lượng cho điện thoại.
1.2.7 Android 2.3 Gingerbread
Nửa năm sau khi FroYo xuất hiện, Google đã trở lại với bản Android 2.3.
Google giới thiệu nó với nhiều tính năng mới, tập trung vào việc phát triển game,
đa phương tiện và phương thức truyền thông mới.
Các tính năng mới:
Giao diện: Giao diện màu đen tuyền, màu sắc này giúp các thiết bị tiết kiệm
pin hơn.
Hai thanh chặn khi chọn văn bản: Thanh chặn này giúp người dùng có thể
chọn từng kí tự một, tiện lợi hơn.
Bàn phím được cải tiến: Các phím đẹp hơn, đen hơn và cả kí tự cũng được
thay đổi.
Công cụ quản lí pin và ứng dụng: Một công cụ mới đã ra mắt với biểu đồ
nhằm theo dõi mức độ tiêu thụ pin cùng việc quản lí ứng dụng đang chạy sẽ
giúp đỡ người dùng.
9
Hỗ trợ máy ảnh trước.
Android của hãng lên phiên bản 4.2 và vẫn giữ nguyên tên gọi “Jelly Bean”.
Android 4.2 mang trong mình nhiều tính năng mới như hỗ trợ Miracast, bàn phím
có thể nhập liệu bằng cách vẽ các đường nét từ kí tự này đến kí tự khác, chế độ
chụp ảnh toàn cảnh, ứng dụng Gmail mới và còn rất nhiều thứ khác nữa.
Trong quá trình giới thiệu Android 4.2, Google rất tập trung nói về Miracast.
Google cũng đã áp dụng một số kĩ thuật từ camera Street View của hãng cho tính
năng chụp ảnh toàn cảnh mới có tên Photo Sphere.
Một cải tiến lớn và quan trọng của Android 4.2 đó là việc hỗ trợ nhiều tài
khoản người dùng trên máy tính bảng để có thể dễ dàng chia sẻ trong gia đình hoặc
nơi làm việc. Mỗi tài khoản sẽ có dữ liệu ứng dụng của riêng họ.
1.2.12 Android 4.3 Jelly Bean
Ngày 24/7/2013, Google đã chính thức ra mắt hệ điều hành này. Đây là
phiên bản Android mới nhất đang có mặt trên thị trường và đi kèm những tính năng
mới như hỗ trợ kết nối Bluetooth Smart, bộ API OpenGL ES 3.0, bổ sung tính năng
sử dụng Wifi để định vị ngay cả khi người dùng tắt kết nối này đi cùng nhiều thay
đổi lớn nhỏ khác.
Google bổ sung thêm một tính năng mới cho Android 4.3 đó là Restricted
Profile. Mỗi thành viên sẽ có một “hồ sơ” riêng của mình và chỉ có thể làm được
những gì được chỉ định trong “hồ sơ”.
11
1.2.13 Android 4.4 Kitkat
Google tiết lộ rằng “mục tiêu của chúng tôi với Android KitKat đó là mang
trải nghiệm Android đáng kinh ngạc đến cho mọi người”. Những cải tiến trên
Android Kitkat bao gồm chế độ toàn màn hình, hiệu ứng chuyển cảnh màn
hình, Storage Access Framework, Chromium WebView, NFC, cổng hồng
ngoại…
Giao diện: Font chữ màu đen, thể hiện rõ các dòng chữ trên thanh thông báo.
Có bộ biểu tượng thư mục mới, giao diện nhìn chung được làm phẳng bớt,
loại bỏ các chi tiết đổ bóng và thêm hiệu ứng trong suốt vào nhiều phần.
1.3.1 Tng ht nhân Linux
Hệ điều hành Android được phát triển dựa trên hạt nhân Linux, cụ thể là hạt
nhân Linux phiên bản 2.6, điều đó được thể hiện ở lớp dưới cùng này. Tất cả mọi
hoạt động của điện thoại muốn thi hành được thì đều thực hiện ở mức cấp thấp. Ở
lớp này bao gồm quản lý bộ nhớ, giao tiếp với phần cứng, thực hiện bảo mật, quản
lý tiến trình.
Tuy được phát triển dựa vào nhân Linux nhưng thực ra nhân Linux đã được
nâng cấp và chỉnh sửa rất nhiều để phù hợp với tính chất của những thiết bị cầm
tay, như hạn chế về bộ vi xử lý, dung lượng bộ nhớ, kích thước màn hình, nhu cầu
kết nối mạng không dây.
Tầng này có các thành phần chủ yếu:
- Display Driver: Điều khiển việc hiển thị lên màn hình cũng như thu nhận
những điều khiển của người dùng trên màn hình (di chuyển, cảm ứng…).
- Camera Driver: Điều khiển hoạt động của camera, nhận luồng dữ liệu từ
camera trả về.
- Bluetooth Driver: Điều khiển thiết bị thu và phát sóng Bluetooth.
- USB driver: Quản lý hoạt động của các cổng giao tiếp USB.
- Keypad driver: Điều khiển bàn phím.
- Wifi driver: Chịu trách nhiệm về việc thu phát sóng wifi.
- Audio Driver: Điều khiển các bộ thu phát âm thanh, giải mã các tín hiệu
dạng audio thành tín hiệu số và ngược lại.
- Binder IPC Driver: Chịu trách nhiệm về việc kết nối và liên lạc với mạng vô
tuyến như CDMA, GSM, 3G, 4G, E để đảm bảo những chức năng truyền thông
được thực hiện.
14
- M-System Driver: Quản lý việc đọc, ghi… lên các thiết bị như thẻ nhớ SD,
flash.
- Power Management: Giám sát việc tiêu thụ điện năng.
1.3.2 Tng Library
với Motorola, HTC, T-Mobile, Samsung…
- Với lập trình viên: Cho phép lập trình viên có thể sử dụng các API ở tầng
trên mà không cần phải hiểu rõ cấu trúc bên dưới, tạo điều kiện cho lập trình viên
tự do sáng tạo bởi vì chỉ cần quan tâm đến nội dung mà ứng dụng họ làm việc. Một
tập hợp API rất hữu ích được xây dựng sẵn như hệ thống định vị, các dịch vụ chạy
nền, liên lạc giữa các ứng dụng, các thành phần giao diện cấp cao…
1.3.5 Tng Application
Đây là tầng ứng dụng giao tiếp với người sử dụng, bao gồm các ứng dụng
như:
- Các ứng dụng cơ bản, được cài đặt đi liền với hệ điều hành: Gọi điện, quản
lý danh bạ, duyệt web, nhắn tin, lịch làm việc, đọc email, bản đồ, quay phim chụp
ảnh…
- Các ứng dụng được cài thêm như các phần mềm học tiếng Anh, các trò chơi,
từ điển…
Các chương trình có đặc điểm là:
- Viết bằng Java có phần mở rộng là apk.
16
- Khi mỗi ứng dụng được chạy, nó có một phiên bản Virtual Machine (máy
ảo) được dựng lên để phục vụ cho nó.
- Android là hệ điều hành đa nhiệm, điều đó có nghĩa là trong cùng một thời
điểm, có thể có nhiều chương trình cùng chạy một lúc, tuy nhiên với mỗi ứng dụng
chỉ có duy nhất một thực thể được phép chạy. Điều đó có tác dụng hạn chế sự lạm
dụng tài nguyên, giúp hệ thống hoạt động tốt hơn.
- Các ứng dụng được gán số ID của người sử dụng nhằm phân định quyền hạn
khi sử dụng tài nguyên, cấu hình phần cứng và hệ thống.
- Android là một hệ điều hành có tính mở, khác với nhiều hệ điều hành di
động khác, Android cho phép một ứng dụng của bên thứ 3 chạy nền. Các ứng dụng
đó chỉ có một hạn chế là không được phép sử dụng quá 5% công suất CPU. Điều
đó nhằm để tránh độc quyền trong sử dụng CPU.
một người sử dụng và một nhóm người sử dụng. Sự liên kết đó là một tập hợp các
quyền hạn truy cập bao gồm quyền được phép đọc (read), được phép ghi (write) và
được phép thực thi (execute).
Cụ thể như sau: Một file sẽ có những quyền hạn tương ứng với 9 ký tự theo
mẫu sau: Với ký tự r w x nghĩa là có quyền tương ứng với ký hiệu viết tắt đó, “-”
nghĩa là không có quyền hạn đó.
1.5 Các thành phn ca mt ng dng trên Android
Các thành phần: Việc hiểu được các thành phần tạo nên một ứng dụng
Android là rất cần thiết cho việc lập trình. Các thành phần này được chia làm 6 loại
bao gồm: