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

Công nghệ android và kỹ thuật làm game 2d

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.55 MB, 62 trang )

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC SƯ PHẠM

KHOA TIN HỌC
Tel. (84-511)3841323 - 3841513, Fax. (84-511) 3842953
Website: www.ued.edu.vn E-mail:

KHÓA LUẬN TỐT NGHIỆP
NGÀNH CỬ NHÂN CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI:

CÔNG NGHỆ ANDROID VÀ KỸ THUẬT LÀM
GAME 2D

Sinh viên
: Nguyễn Thị Mỹ Lệ
Lớp
: 08CNTT2
Giáo viên hướng dẫn : ThS. Lê Văn Mỹ

Đà Nẵng, tháng 5 năm 2012


LỜI CẢM ƠN
Đầu tiên em xin chân thành cảm ơn các thầy cô trường Đại học Sư phạm Đà
Nẵng, đã truyền đạt những kinh nghiệm quý báu cho em trong những năm học vừa
qua.
Đặc biệt xin em xin chân thành cảm ơn thầy Lê văn Mỹ đã nhiệt tình hướng dẫn
em hoàn thành đề tài luận văn tốt nghiệp này.
Để có được kết quả như ngày hơm nay, xin chân thành cảm ơn Ban lãnh đạo


cũng như các anh chị Công ty TNHH TH-TM AsNet, nơi em thực tập đã tận tình giúp
đỡ, tạo mọi điều kiện tốt nhất cho em hồn thành đề tài của mình. Tuy nhiên, trong
q trình hồn thành đề tài khơng thể tránh khỏi những thiếu sót. Em mong nhận được
nhiều đóng góp của quý thầy cô, cũng như các anh chị trong công ty để đề tài được
hoàn thiện hơn.
Em xin chân thành cảm ơn.
Đà Nẵng, tháng 5/2012
Sinh viên thực hiện:

Nguyễn Thị Mỹ Lệ


LỜI CAM ĐOAN
Tôi xin cam đoan:
1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự
hướng dẫn trực tiếp của thầy thầy Lê Văn Mỹ.
2 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá,
chúng tơi xin chịu hồn tồn trách nhiệm.

Sinh viên thực hiện

Nguyễn Thị Mỹ Lệ


MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT......................................................................................................... 8
MỞ ĐẦU ................................................................................................................................................. 9
1.

Lý do chọn đề tài ..................................................................................................................... 9


2.

Mục đích nghiên cứu ............................................................................................................... 9

3.

Đối tượng và phạm vi nghiên cứu............................................................................................ 9
3.1.

Đối tượng nghiên cứu ......................................................................................................... 9

3.2.

Phạm vi nghiên cứu ............................................................................................................ 9
Phương pháp nghiên cứu ....................................................................................................... 10

4.
4.1.

Cơ sở lý thuyết. ................................................................................................................. 10

4.2.

Công cụ thiết kế chương trình .......................................................................................... 10

4.3.

Dự kiến kết quả đạt được .................................................................................................. 10


5.

Ý nghĩa khoa học và thực tiễn đề tài...................................................................................... 11

6.

Cấu trúc của luận văn .............................................................................................................. 11

7.

Phân công công việc: ............................................................................................................. 11

1.1. Giới thiệu Android ..................................................................................................................... 13
1.1.1. Android là gì? ...................................................................................................................... 13
1.1.2. Lịch sử Android................................................................................................................... 13
1.1.3. Những tính năng của Android. ............................................................................................ 14
1.1.4. Mơ hình Android ................................................................................................................. 14
1.1.5. Vịng đời Android ............................................................................................................... 16
1.1.6. Một số gói cơ bản của Android. .......................................................................................... 18
1.2. Cài đặt SDK ............................................................................................................................... 19
1.2.1. Giới thiệu SDK .................................................................................................................... 19
1.2.2. Cài đặt Plugin cho Eclipse................................................................................................... 20
2.1. Các thành phần về đồ họa .......................................................................................................... 23
2.1.1. Các dạng file ảnh ................................................................................................................. 23
2.1.2. Các hệ màu. ......................................................................................................................... 23
2.2. Các khái niệm ............................................................................................................................. 26
2.2.1. Sprite ................................................................................................................................... 26
2.2.2. Frame ................................................................................................................................... 27
2.2.3. Frame rate............................................................................................................................ 27
2.2.4. Đồng bộ Frame .................................................................................................................... 28

2.2.5. Animation ............................................................................................................................ 29


2.2.6. Tile ...................................................................................................................................... 30
2.2.7. Map...................................................................................................................................... 30
2.2.8. Layer.................................................................................................................................... 30
2.3. Kĩ thuật xây dựng đồ họa trong Game 2D. ................................................................................ 31
2.3.1. Kĩ thuật đồ họa. ................................................................................................................... 31
2.3.2. Kĩ thuật chuyển tiếp địa hình. ............................................................................................. 33
2.3.3. Kĩ thuật thiết kế map ........................................................................................................... 34
2.3.4. Xử lý đụng độ (Collision Detection) ................................................................................... 35
2.4. Kĩ thuật thiết kế Game ............................................................................................................... 36
2.4.1. Game Loop .......................................................................................................................... 36
2.4.2. Game AI là gì? .................................................................................................................... 36
2.4.3. Game Physics ...................................................................................................................... 37
2.4.4. Sound................................................................................................................................... 37
Chương 3: THIẾT KẾ VÀ CÀI ĐẶT CHƯƠNG TRÌNH .................................................................... 38
3.1. Phân tích Game .......................................................................................................................... 38
3.1.1. Đặc tả game Plant vs Zombies ............................................................................................ 38
3.1.2. Cách quản lý đối tượng trong game .................................................................................... 39
3.1.3.Thiết kế Game ...................................................................................................................... 39
3.1.4. Cách điều khiển game ......................................................................................................... 41
3.1.5. Cách tạo âm thanh trong game. ........................................................................................... 41
3.1.6. Cách xử lý va chạm trong game. ......................................................................................... 42
3.2. Phân tích và thiết kế hệ thống .................................................................................................... 44
3.2.1. Phân tích u cầu................................................................................................................. 44
3.2. Kết quả chương trình .................................................................................................................. 59
3.2.1. Giao diện menu ................................................................................................................... 59
1. Kết quả đạt được ........................................................................................................................... 60
1.1. Về lý thuyết ............................................................................................................................ 60

1.2.Về thực nghiệm ....................................................................................................................... 60
2. Hướng phát triển của đề tài ........................................................................................................... 61
TÀI LIỆU THAM KHẢO ..................................................................................................................... 62


DANH MỤC CÁC HÌNH
Chương 1.
Hình 1. 1. Biểu tượng hệ điều hành Android ........................................................................................ 13
Hình 1. 2. Mơ hình Android .................................................................................................................. 15
Hình 1. 3. Mơ hình vịng đời Android ................................................................................................... 16
Hình 1. 4. Hình ảnh một device emulator ............................................................................................. 20
Hình 1. 5. Biểu diễn bước đầu tiên cài đặt plugin ................................................................................. 21
Hình 1. 6. Hình biểu diễn địa chỉ trang web cài đặt plugin ................................................................... 21
Hình 1. 7. Hình biểu diễn qua trình cài đặt tự động của plugin ............................................................ 22

Chương 2
Hinh 2. 1. File ảnh vector và bitmap ..................................................................................................... 23
Hinh 2. 2. Hệ màu RGB ........................................................................................................................ 24
Hinh 2. 3. Hệ màu CMYK .................................................................................................................... 25
Hinh 2. 4. Sprite .................................................................................................................................... 27
Hinh 2. 5. Quá trình đồng bộ frame ...................................................................................................... 29
Hinh 2. 6. Tile ....................................................................................................................................... 30
Hinh 2. 7. Thứ tự sắp xếp các layer....................................................................................................... 31
Hinh 2. 8. Isometric tile......................................................................................................................... 32
Hinh 2. 9. Các hướng di chuyển của Isometric tile ............................................................................... 32
Hinh 2. 10. Sơ đồ Isometric tile trên map ............................................................................................. 32
Hinh 2. 11. Hexagon tile ....................................................................................................................... 33
Hinh 2. 12. Các hướng di chuyển của Hexagon tile .............................................................................. 33
Hinh 2. 13. Sơ đồ Hexagon tile trên map .............................................................................................. 33
Hinh 2. 14. Chưa chuyển tiếp


Hinh 2. 15. Sau khi chuyển tiếp ................................... 34

Hinh 2. 16. Map dùng tile ..................................................................................................................... 34
Hinh 2. 17. Dùng background ............................................................................................................... 35
Hinh 2. 18. Xảy ra va chạm

Hinh 2. 19. Chưa xảy ra va chạm .............................................. 35


Chương 3
Hình 3. 1. Mơ hình tổng qt của BrainStorm.

40

Hình 3. 2. Thiết kế chi tiết cho một đối tượng plants trong game

40

Hình 3. 3. Mơ hình thiết kế nhân vật Zombie.

41

Hình 3. 4. Va chạm giữa plants và zombies

42

Hình 3. 5. Hình ảnh Zombies tiến vào nhà

43


Hình 3. 6. Plants phát hiện zombies và bắn đạn

43

Hình 3. 7. Va chạm giữa đạn và zombies

44

Hình 3. 8. Kiểm tra va chạm giữa đạn và zombies

44

Hình 3. 9.. Mơ hình Use Case Menu

45

Hình 3. 10. Mơ hình Use Case Game Play

46

Hình 3. 11. Sơ đồ hoạt động

48

Hình 3. 12. Sơ đồ tuần tự hiển thị menu

49

Hình 3. 13. Sơ đồ tuần tự quá trình chơi game


50

Hình 3. 14. Sơ đồ lớp

51

Hình 3. 15. Lớp Zombies_Activity

52

Hình 3. 16. Lớp ZombiesView

53

Hình 3. 17. Lớp LinkList

54

Hình 3. 18. Lớp Animation

55

Hình 3. 19. Lớp Zombie

56

Hình 3. 20. Lớp Plant

57


Hình 3. 21. Lớp Bullet

58

Hình 3. 22. Giao diện menu của chương trình

59

Hình 3. 23. Giao diện playing game.

59


Công nghệ Android và kĩ thuật làm game 2D

DANH MỤC CÁC TỪ VIẾT TẮT
1. UML: Unified Modeling Language
2. SDK : Software Development Kit
3. ADT: Android Development Tools
4. AI: Artificial Intelligence

SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2

Trang 8


Công nghệ Android và kĩ thuật làm game 2D

MỞ ĐẦU

1. Lý do chọn đề tài
Ngày nay do nhu cầu đời sống con người ngày càng được nâng cao, có sự hiểu
biết rộng rãi hơn, cơng nghệ và những tính năng mới trên điện thoại càng được con
người chú ý và đặt mối qua tâm. Thêm vào đó nhu cầu giải trí của con người cũng
được quan tâm, xuất phát từ những nhu cầu đó game trên di động trở thành công cụ
không thể thiếu trong cuộc sống của con người trong thời hiện đại. Từ thưc tế đó, với
kiến thức đã học kết hợp với nền tảng Android trên di động em chọn đề tài tốt nghiệp
cho mình là:
Nghiên cứu và phát triển game 2D trên nền điện thoại di động Android
Xây dựng ứng dụng game Plants vs Zombies

2. Mục đích nghiên cứu
Với sự phát triển cơng nghệ như hiên nay, thế giới được ví là thế giới của cơng
nghệ thơng tin. Thêm vào đó nhu cầu giải trí của con người ngày càng cao, người ta
chọn một giải pháp hoàn hảo cho sự xả stress sau mỗi ngày làm việc mệt mỏi là game
vì thế mà thị trường game ngày càng sơi động và nóng bỏng, đặc biệt là game trên di
động, thiết bị di động trở thành một trợ thủ không thể thiếu của con người. Với những
lý do chính đáng đó, nhóm em nghiên cứu và tìm hiểu về công nghệ và nền tảng
Android và kĩ thuật làm game 2D, giúp người đọc và cả bản thân em có một cái nhìn
tổng qt về Android và những lợi ích mà nó mang lại.

3. Đối tượng và phạm vi nghiên cứu
3.1.

Đối tượng nghiên cứu

Android là một hệ điều hành mở cho nền tảng di động và là một sự chọn lựa
đúng đắn của người tiêu dùng. Với đề tài này em sẽ đi nghiên cứu công nghệ, nền tảng
và ứng dụng của Android trên thiết bị di động và những kĩ thuật cơ bản làm game 2D.


3.2.

Phạm vi nghiên cứu

Phạm vi nghiên cứu của đề tài này là các kiến thức cơ bản liên quan đến
Android và các kĩ thuật làm game 2D. Trên cơ sở đó xây dựng thành công ứng dụng
game 2D “Plants Vs Zombies” trên nền Android. Đây là một game lớn, có nhiều level
và nhiều chức năng và với các mức độ khó dần sau mỗi màn chơi. Nhưng vì thời gian
có hạn nên em chỉ xây dựng được một level với các kĩ thuật xử lý cơ bản trong game
SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2

Trang 9


Công nghệ Android và kĩ thuật làm game 2D

như xử lý va chạm giữa các đối tượng, xử lý bắn đạn, thiết lập các chức năng chính
của các cây trồng trong game và cách quản lý các đối tượng trong game.

4. Phương pháp nghiên cứu
Cơ sở lý thuyết.

4.1.

Tìm hiểu cơng nghệ và nền tảng di động mở Android của Google, quy trình
phát triển game 2D, nhằm xây dựng thành cơng một ứng dụng game 2D trên nền di
động Android. Với mục đích đó, u cầu phải nắm được các kiến thức cơ bản sau đây
trên nền tảng công nghệ Android:
 Quy trình phát triển một ứng dụng game trên nền di động.
 Các cơng cụ và ngơn ngữ lập trình.

 Kiến thức và kĩ thuật làm game 2D.
 Thực thi chương trình trên thiết bị thực (điện thoại di động chạy trên nền
Android).

4.2.

Cơng cụ thiết kế chương trình

 Eclipse 3.6.
 Thiết kế đồ họa Photoshop CS5.
 Android SDK_r06-window tích hợp trên Eclipse.
 Thiết kế sơ đồ UML.

4.3.

Dự kiến kết quả đạt được

Nắm rõ lý thuyết thiết kế game 2D nói chung và game 2D trên nền tảng
Android nói riêng. Xây dựng ứng dụng game Plants vs Zombies thõa mãn các yêu cầu
sau đây:
 Game phải hiển thị rõ phần chơi với các chức năng: thắng, thua, thiết lập
được các chức năng chính của các vật cây trồng được sử dụng trong
game
 Đảm bảo đồ họa đẹp và tuân thủ theo các yêu cầu kĩ thuật làm game 2D.
SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2

Trang 10


Công nghệ Android và kĩ thuật làm game 2D


 Cài đặt trên các thiết bị di động dùng hệ điều hành Android.

5. Ý nghĩa khoa học và thực tiễn đề tài
Xây dựng thành công game 2D trên nền tảng di động sử dụng hệ điều hành
Android. Game Plants Vs Zombies mang tính giải trí cao, giúp con người giải lao sau
những giờ làm việc mệt mỏi.
Đề tài giúp chúng ta hiểu rõ hơn về sự phát triển công nghệ hiện nay và đặc biệt
hiểu rõ hơn về nền tảng, những ứng dụng và vai trò của Android trong lĩnh vực di
động.

6. Cấu trúc của luận văn
 Mở đầu: giới thiệu sơ lược về đề tài, hướng nghiên cứu và dự kiến kết
quả đạt được.
 Chương 1: Tổng quan về Android
Khái niệm, lịch sử phát triển, các tính năng, mơ hình, vịng đời và các
gói trong Android.

 Chương 2. Các kĩ thuật cơ bản xây dựng gam 2D
Các kĩ thuật làm game 2D, đồ họa và kĩ thuật xây dựng đồ họa trong
game.
 Chương 3: Phân tích thiết kế và cài đặt: Vẽ các sơ đồ phân tích, thiết
kế và kết quả đạt được.
 Phần kết luận và hướng phát triển: nêu ra những nhận xét về kết quả
đạt được từ đó đưa ra hướng phát triển cho đề tài.

7. Lịch trình làm việc:
Các cơng việc thực hiện trong game rất nhiều, tuy nhiên có thể phân thành các
cơng việc chính sau:


SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2

Trang 11


Công nghệ Android và kĩ thuật làm game 2D

Công việc

Thời gian

Xây dựng ý tưởng

1tuần

Nghiên cứu nền tảng Android

1 tuần

Nghiên cứu kĩ thuật làm game

1 tuần

Design hình ảnh và nhân vật

3 ngày

Thiết kế giao diện

2 ngày


Nghiên cứu cách tạo Animation

4 ngày

Đồng bộ frame

2 ngày

Phân tích và thiết kế game

3 ngày

Phân tích và thiết kế lớp

1 tuần

Quản lý đối tượng

1 tuần

Sự kiện Ontough

3 ngày

Bảng chọn

3 ngày

Xử lý va chạm


2 tuần

Xử lý đạn bắn

1 tuần

Âm thanh

4 ngày

Debug

1 tuần

Viết báo cáo + Slide

1 tuần

SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2

Trang 12


Công nghệ Android và kĩ thuật làm game 2D

Chương 1: TỔNG QUAN VỀ ANDROID
1.1. Giới thiệu Android
1.1.1. Android là gì?
Là nền tảng phần mềm dựa trên nền tảng Linux OS ( Kernel 2.6) cho máy di

động và những phần mềm trung gian (middleware) để hỗ trợ các ứng dụng mà người
sử dụng cần đến.

Hình 1. 1. Biểu tượng hệ điều hành Android

1.1.2. Lịch sử Android
Tháng 7 năm 2005, Google mua lại Android, một cơng ty nhỏ mới thành lập có
trụ sở ở Palo Alto, California, Mỹ. Những nhà đồng sáng lập của Android chuyển sang
làm việc tại Google gồm có Andy Rubin (đồng sáng lập công ty Danger), Rich
Miner (đồng sáng lập công ty Wildfire Communications), Nick Sears (từng là phó chủ
tịch của T-Mobile), và Chris White (trưởng nhóm thiết kế và phát triển giao diện
tại WebTV).
Tại Google, nhóm do Rubin đứng đầu đã phát triển một nền tảng thiết bị di
động dựa trên hạt nhân Linux, được họ tiếp thị đến các nhà sản xuất thiết bị cầm tay và
các nhà mạng trên những tiền đề về việc cung cấp một hệ thống mềm dẻo, có khả năng
nâng cấp mở rộng cao.
Tháng 9 năm 2007, InformationWeek đăng tải một nghiên cứu của Evalueserve
cho biết Google đã nộp một số đơn xin cấp bằng sang chế trong lĩnh vực điện thoại di
động.
SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2

Trang 13


Công nghệ Android và kĩ thuật làm game 2D

Vào đầu tháng 11 năm 2007, Google đã tung ra bộ SDK được thiết kế để cho
phép các nhà phát trển “mở rộng, thay thế và tái sử dụng” các thành phần phần mềm,
có nhiều cơng cụ debug, thư viện, dự án mẫu. Có bộ plugin tích hợp SDK với nền tảng
phát triển Eclipse.


1.1.3. Những tính năng của Android.
Các tính năng mà Android hỗ trợ rất rộng, bao gồm đồ họa 2D và 3D (dựa trên
OPENGL_ES), khả năng định vị, Blutooth, EDGE, 3G, Wifi, hỗ trợ GSM, dữ liệu có
thể được lưu trữ trong cơ sở dữ liệu SQLLite…
Android phá bỏ rào cản để xây dựng các ứng dụng mới và sáng tạo. Ví dụ, một
nhà phát triển có thể kết hợp thông tin từ các trang web với dữ liệu trên điện thoại di
động của một cá nhân – ví dụ như địa chỉ liên hệ của người dùng, lịch, hoặc vị trí địa
lý.
Android sẽ mang nhiều lợi ích cho khách hàng, các lập trình viên, các nhà sản
xuất và nhà cung cấp di động. Điều này cũng có nghĩa các sản phẩm, dịch vụ có giá rẻ
hơn, điện thoại dễ sử dụng hơn, ứng dụng nhiều hơn, khai thác dịch vụ internet dễ
dàng hơn.
Chính vì Android có những tính năng đó nên Android trở thành một hệ điều
hành cho di động mà cả thế giới tin dùng và không ngừng phát triển đáp ứng nhu cầu
của người tiêu dùng.

1.1.4. Mô hình Android
Mơ hình sau thể hiện các thành phần chính của hệ điều hành Android. Mỗi phần
được mô tả như sau:

SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2

Trang 14


Cơng nghệ Android và kĩ thuật làm game 2D

Hình 1. 2. Mơ hình Android




Tầng Application: Bao gồm các ứng dụng: email client, SMS program,

calendar, maps,…



Application framework ( Nền tảng ứng dụng): Cấu trúc ứng dụng được

thiết kế để đơn giản hóa việc tái sử dụng bởi các ứng dụng chính.



Libraries layer: Android bao gồm bộ các thư viện C/C++ được sử dụng bởi

nhiều thành phần khác nhau trong hệ thống android. Có các thư viện như: thư viện hệ thống
C, thư viện media, Surface Manager, LibWebCore, SQL…



Android Runtime:

Mỗi ứng dụng Android chạy trên bộ xử lý riêng của nó,với mỗi một máy ảo
Dalvik.
Dalvik được thiết kế để một thiết bị có thể chạy nhiều máy ảo hữu hiệu. Máy ảo
Dalvik thực thi nhiều file định dạng (.dex).
Máy ảo Dalvik dựa trên hệ điều hành Linux cho những chức năng tầng dưới
như phân luồng và quản lý bộ nhớ cấp thấp.



Linux Kernel : Android dựa trên Linux version 2.6 những dịch vụ hệ

thống nền tảng như bảo mật, quản lý bộ nhớ, quản lý tiến trình, network stack và mơ
phỏng ổ đĩa.

SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2

Trang 15


Cơng nghệ Android và kĩ thuật làm game 2D

1.1.5. Vịng đời Android

Hình 1. 3. Mơ hình vịng đời Android

Actitvity là thành phần quan trọng nhất và đóng vai trị chính trong xây dựng
ứng dụng Android. Hệ điều hành Android quản lý Activity theo dạng stack: khi một
Activity mới được khởi tạo, nó sẽ được xếp lên đầu của stack và trở thành Running
activity, các Activity trước đó sẽ bị tạm dừng và chỉ hoạt động trở lại khiActivity mới
được giải phóng.
SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2

Trang 16


Công nghệ Android và kĩ thuật làm game 2D

Activity bao gồm 4 state:




active (running): Activity đang hiển thị trên màn hình (foreground).
paused: Activity vẫn hiển thị (visible) nhưng khơng thể tương tác (lost

focus). VD: một activity mới xuất hiện hiển thị giao diện đè lên trên activity cũ,
nhưng giao diện này nhỏ hơn giao diện của activity cũ, do đó ta vẫn thấy được 1 phần
giao diện của activity cũ nhưng lại khơng thể tương tác với nó.


stop: Activity bị thay thế hoàn toàn bởi Activity mới sẽ tiến đến trạng

thái stop.


killed: Khi hệ thống bị thiếu bộ nhớ, nó sẽ giải phóng các tiến trình theo

ngun tắc ưu tiên. Các Activity ở trạng thái stop hoặc paused cũng có thể bị giải
phóng và khi nó được hiển thị lại thì các Activity này phải khởi động lại hồn tồn và
phục hồi lại trạng thái trước đó.
Activity có những phương thức sau:


OnCreate():sẽ được gọi khi lần đầu activity được tạo. Đây là phương

thức dùng để khởi tạo activity. Khi gọi phương thứconCreate(), Android sẽ truyền một
đối tượng chứa trạng thái hoạt động nào đó đã được lưu của activity khi được gọi
trước đó.



OnRestart(): được gọi sau khi activity đã bị stop trước đó, trước khi nó

được bắt đầu trở lại.


OnStart(): được gọi trước khi activity xuất hiện trên màn hình. Khi

phương thức này hoàn thành, nếu activity được hiển thị trên mànhình, điều khiển sẽ
được chuyển cho onResume(), nếu activity khơng hiển thị trên màn hình vì lý do nào
đó, điều khiển sẽ được chuyển cho onStop().


OnResum() : được gọi ngay sau onStart() nếu activity được hiển thị trên

màn hình, onResume() cũng được gọi khi activity nhường quyền lại cho một activity
khác, khi activity đó kết thúc, lúc đó sẽ được hiển thị lại trên màn hình.

SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2

Trang 17


Công nghệ Android và kĩ thuật làm game 2D



OnPause(): được gọi khi hệ điều hành ưu tiên activity khác, để activity

đó được hiển thị. Ở thời điểm này, activity sẽ khơng xuất hiện trên màn hình.



OnStop(): được gọi khi activity khơng cịn được hiển thị nữa, và đã bị

destroy.


OnDestroy(): nơi activity có thể thực hiện bất kì việc gì trước khi bị

destroy.
Vịng đời (chu trình) của một Activity được bắt đầu từ hàm onCreate đến hàm
onDestroy. Khi ứng dụng được gọi thì Activity được khởi tạo. Hệ điều hành sẽ gọi đến
hàm onCreate đầu tiên. Do vậy khi viết một ứng dụng Android các vấn đề khởi tạo
giao diện ta sẽ cho vào trong hàm này. Khi gọi xong hàm onCreate ta thu được giao
diện chương trình.
Sau hàm onCreate hệ điều hành sẽ gọi đến hàm onStart. Khi hệ điều hành gọi
đến onResume tức là ứng dụng của chúng ta đã sẵn sàng làm việc.
Khi một Activity bị hủy bởi hệ điều hành thì hệ điều hành sẽ khơng thơng báo
mà sẽ tự động hủy.
Một ứng dụng có thể có một hoặc nhiều Activity. Nếu ứng dụng có nhiều
Activity thì hệ điều hành sẽ quản lý nó theo cơ chế stack. Tức là, khi một Activity mới
được gọi thì Activity cũ sẽ được cất xuống dưới. Activity mới được để lên trên. Khi đó
chỉ nhìn thấy Activity mới cịn Activity cũ sẽ ẩn đi.

1.1.6. Một số gói cơ bản của Android.
Trong Android có một số gói chính sau đây:


Android.util: Chứa những lớp tiện ích cấp độ thấp, chẳng hạn như các


lớp container được đặc biệt hóa, tiện ích XML,…


Android.os: Cung cấp những dịch vụ hệ điều hành nền tảng, chuyển các

gói tin, giao tiếp giữa các tiến trình.

SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2

Trang 18


Công nghệ Android và kĩ thuật làm game 2D



Android.graphics: Cung cấp những công cụ đồ họa mức độ thấp như

canvas, bộ lọc màu, point trong map, và các khối chữ nhật giúp bạn có thể trang trí
trực tiếp lên giao diện.



Android.text, Android.text.method, Android.text.style: Cung cấp bộ

công cụ xử lý văn bản mạnh mẽ, hỗ trợ rich text, những phương thức nhập…


Android.database: Chứa APIs cấp độ thấp để làm việc với cơ sở dữ




Android.content: Cung cấp các dịch vụ khác nhau truy cập dữ liệu trên

liệu.

thiết bị: những ứng dụng được cài đặt trên thiết bị và những tài nguyên gắn liền với
chúng, và những bộ cung cấp dữ liệu chung lâu dài của riêng android.


Android.view: Cung cấp những lớp tạo ra lớp giao diện cơ bản.



Android.widget: Chứa hầu hết các yếu tố về giao diện sử dụng trên màn

hình ứng dụng.


Android.app: Lớp cấp độ cao đóng gói mơ hình ứng dụng tầng trên của

android.


Android.opengl: Cung cấp tiện ích OPENGL ES, thư viện hỗ trợ đồ họa



Android.media: Cung cấp các lớp xử lý các phương tiện như audio,


3D.

video, image…


Android.net: Cung cấp các hỗ trợ cho việc truy cập web.

1.2. Cài đặt SDK
1.2.1. Giới thiệu SDK
Google đã phát hiện bộ SDK (Software Development Kit- Bộ phát triển phần
mềm) cho Android giúp các lập trình viên tạo các ứng dụng trên nền tảng di động một
cách dễ dàng.
SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2

Trang 19


Công nghệ Android và kĩ thuật làm game 2D

Bộ SDK được thiết kế cho phép các nhà phát triển “mở rộng, thay thế và tái sử
dụng ” các thành phần phần mềm và đi kèm công cụ gỡ lỗi, một chương trình device
emulator (thiết bị giả lập) và các dự án mẫu.

Hình 1. 4. Hình ảnh một device emulator
SDK cũng chứa chương trình hỗ trợ để kết hợp với các công cụ với nền tảng
phát triển nguồn mở Eclipse. Sử dụng cho Eclipse từ 3.2 trở lên.

1.2.2. Cài đặt Plugin cho Eclipse
Sử dụng Eclipse như một môi trường để phát triển ứng dụng Android. Bạn có
thể cài đặt plugin ADT (Android Development Tools), công cụ hỗ trợ các công cụ lập

trình Android gắn liền với Eclipse với các chức năng bao gồm: tạo, chạy, gỡ rối các
ứng dụng trên Android dễ dàng hơn nhiều.
Sau đó hãy tải bộ SDK tại địa chỉ www.code.google.com/android.
Để cài đặt Android plugin ta làm như sau:


Bước 1 : Trước hết chúng ta cần tải bộ Eclipse 3.2 trở lên (tốt nhất là bộ

Eclipse 3.7) tại website />SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2

Trang 20


Công nghệ Android và kĩ thuật làm game 2D



Bước 2: Giải nén và khởi động eclipse.



Bước 3: Vào Help chọn Install New Software

Hình 1. 5. Biểu diễn bước đầu tiên cài đặt plugin


Bước 4: Chọn nút add trên hộp thoại để hiện cửa sổ Add site

Lưu ý: Hộp name có thể đặt tên tùy ý của bạn còn hộp Location thì bắt buộc là
/>

Hình 1. 6. Hình biểu diễn địa chỉ trang web cài đặt plugin


Bước 5: Đợi eclipse lấy thông số plugin từ địa chỉ trên.



Bước 6: Bạn check vào Developer chọn Next để tiếp tuc.



Bước 7: Chọn Finish nếu bạn chấp nhận cài đặt.

SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2

Trang 21


Cơng nghệ Android và kĩ thuật làm game 2D

Hình 1. 7. Hình biểu diễn qua trình cài đặt tự động của plugin

SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2

Trang 22


Công nghệ Android và kĩ thuật làm game 2D

Chương 2. CÁC KĨ THUẬT CƠ BẢN XÂY DỰNG

GAME 2D
2.1. Các thành phần về đồ họa
2.1.1. Các dạng file ảnh

 File ảnh vector
Đuợc tạo bởi các đoạn thẳng và đường cong đuợc định nghĩa bằng các đối
tượng toán học gọi là Vector. Hình Vector mơ tả hình ảnh dựa trên các thuộc tính hình
học của hình ảnh đó.

 File ảnh bitmap
Gọi theo từ kỹ thuật là ảnh mành hóa (Rater Image) dùng lưới các điểm ảnh,
tức pixel, để biểu thị hình ảnh. Mỗi pixel (điểm ảnh) được gán một vị trí và gán giá trị
màu cụ thể.
Ảnh Bitmap là ảnh được tạo bởi ma trận các điểm ảnh

Hinh 2. 1. File ảnh vector và bitmap

2.1.2. Các hệ màu.
Có 2 hệ màu cơ bản là RGB và CMYK.

2.1.2.1.Hệ màu RGB
Hệ màu RGB là viết tắt của 3 màu cơ bản là Red, Green và Blue là ba màu
chính của ánh sáng trắng sau khi được tách ra nhờ lăng kính. Những màu này khi kết
SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2

Trang 23


Công nghệ Android và kĩ thuật làm game 2D


hợp theo tỉ lệ nhất định sẽ tạo ra rất nhiều màu khác nhau trong dải ánh sáng nhìn thấy,
và khi kết hợp cả 3 màu lại với nhau với tỉ lệ 1 : 1 : 1 chúng ta sẽ được màu trắng.

Hinh 2. 2. Hệ màu RGB
Hệ màu RGB là hệ màu cộng (là tổng hợp màu cộng vì các màu được sinh ra từ
3 màu RGB sẽ sáng hơn các màu gốc) và việc tổng hợp màu RGB chỉ có thể thực hiện
được trên các vật có khả năng phát sáng.
Ứng dụng hệ màu RGB: Màn hình ti-vi hay máy tính người ta sử dụng ống
phóng điện tử có 3 thành phần chính là Red Green Blue. Có thể thấy được điều đó
bằng cách sử dụng kính lúp để xem hay đơn giản là chấm 1 giọt nước lên màn hình
chúng ta sẽ thấy ngay 3 thành phần màu đó. Màu sắc thay đổi do sự thay đổi cường độ
phát sáng của 3 thành phần màu tương ứng của các ống phóng điện tử. Trong trường
hợp cường độ 3 màu bằng nhau thì sẽ sinh ra màu xám, nếu đạt cực đại thì sẽ sinh ra
màu trắng, cực tiểu sinh ra màu đen.
 Kiểu 16 bit
Dùng 16 bit để biểu diễn 1 màu với 5 bit cho mỗi màu gọi là kiểu 555 hoặc
thêm 1 bit cho màu xanh lá cây (vì mắt có thể cảm nhận màu này tốt hơn so với các
màu khác), gọi là kiểu 565.
 Kiểu 24 bit
Với 8 bit cho mỗi màu cơ bản tạo nên 2^24=16 777 216 màu khác nhau.
 Kiểu 32 bit
SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2

Trang 24


Công nghệ Android và kĩ thuật làm game 2D

Lúc đầu cũng chỉ dùng 24 bit để lưu các màu nhưng có tốc độ xử lý nhanh hơn vì
là cấp số của 2 nhưng sau đó 8 bit dư được sử dụng để lưu trữ kênh anpha.

 Kiểu RGBA
Với nhu cầu về các hình ảnh ghép đã xuất hiện phương án của RGB trong đó
thêm vào kênh 8 bit dư cho độ trong suốt, vì thế tạo ra định dạng 32 bit. Kênh trong
suốt được biết đến phổ biến hơn như là kênh alpha, vì thế định dạng này có tên là
RGBA. Cũng lưu ý rằng vì nó khơng thay đổi bất kỳ cái gì trong mơ hình RGB, nên
RGBA khơng phải là một mơ hình màu khác biệt, nó chỉ là định dạng file trong đó bổ
sung thêm thơng tin về độ trong suốt cùng với thông tin về màu trong cùng một file.
Có 2 định dạng ảnh phổ biến hiện nay hỗ trợ ảnh trong suốt là gif và png nhưng
png tỏ ra vược trội hơn ở ảnh tĩnh với khả năng nén tốt hơn và hiển thị ảnh trong suốt,
khơng bị răng cưa ở vùng biên. Ngồi ra, trong khi png hỗ trợ đến 48 bit màu thì gif
chỉ có tới 256 màu.

2.1.2.2. Hệ màu CMYK
CMYK gồm Cyan, Magenta, Yellow và Keyline (black) Cyan, Magenta và
Yellow được gọi là 3 màu cơ bản của máy in. Điều đặc biệt của 3 màu CMY là khi
chúng kết hợp với nhau theo tỉ lệ 1 : 1 : 1 lại cho ra màu đen, Keyline được thêm vào
để bổ trợ cho 3 màu trên CMY. Vì Black viết tắt là B trùng với Blue nên người ta dùng
chữ K để biểu thị cho màu đen.

Hinh 2. 3. Hệ màu CMYK
SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2

Trang 25


×