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

xây dựng game 3d sword man trên android ios và windows

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.87 MB, 98 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-511) 736 949, Fax. (84-511) 842 771
Website: itf.ud.edu.vn, E-mail:


ĐỒ ÁN TỐT NGHIỆP KỸ SƯ
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH: 05115

ĐỀ TÀI:
XÂY DỰNG GAME 3D SWORD MAN TRÊN ANDROID
IOS VÀ WINDOWS




SINH VIÊN: HỒ THỊ TRANG
LỚP : 06T4
CBHD : THS. TRỊNH CÔNG DUY




ĐÀ NẴNG, 06/2011
Xây dựng game 3D Sword Man trên Android, IOS và Windows


SVTH: Hồ Thị Trang – Lớp 06T4 Page 2



NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………



Đà Nẵng, ngày …, tháng …, năm 2011
Cán bộ hướng dẫn


THS. Trịnh Công Duy







Xây dựng game 3D Sword Man trên Android, IOS và Windows



SVTH: Hồ Thị Trang – Lớp 06T4 Page 3






NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………


Đà Nẵng, ngày …, tháng …, năm 2011

Cán bộ phản biện








Xây dựng game 3D Sword Man trên Android, IOS và Windows


SVTH: Hồ Thị Trang – Lớp 06T4 Page 4

LỜI CẢM ƠN


Tôi xin chân thành cảm ơn các thầy cô giáo trong khoa Công Nghệ Thông Tin cùng
toàn thể thầy cô của trường Đại Học Bách Khoa Đà Nẵng đã truyền đạt cho tôi những kiến
thức quý giá trong suốt những năm học vừa qua.
Xin chân thành cảm ơn thầy: Trịnh Công Duy đã tận tình chỉ bảo và giúp đỡ cho tôi
hoàn thành đồ án này.
Cuối cùng tôi xin cảm ơn các bạn trong khoa công nghệ thông tin, những người đã giúp
đỡ, chia sẽ những kiến thức, kinh nghiệm, tài liệu…trong suốt quá trình nghiên cứu thực hiện
đề tài.












Xây dựng game 3D Sword Man trên Android, IOS và Windows


SVTH: Hồ Thị Trang – Lớp 06T4 Page 5

LỜI CAM ĐOAN
Tôi xin cam đoan:
1 Những nội dung trong báo cáo này là do tôi thực hiện.
2 Mọi tham khảo dùng trong báo cáo này đều được trích dẫn rõ ràng tên
tác giả, tên công trình, thời gian, địa điểm công bố.
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin
chịu hoàn toàn trách nhiệm.

Sinh viên thực hiện
Hồ Thị Trang














Xây dựng game 3D Sword Man trên Android, IOS và Windows


SVTH: Hồ Thị Trang – Lớp 06T4 Page 6

MỤC LỤC
CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI 15
1.1. Giới thiệu đề tài 15
1.2. Mục đích, ý nghĩa của đề tài 15
1.3. Phương án triển khai đề tài 15
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT 17
2.1. Giới thiệu các công cụ để làm game 3D 17
2.1.1. Visual C++ 17
2.1.2. Giới thiệu về OpenGL 17
2.1.2.1. Giới thiệu 17
2.1.2.2. Cấu trúc lệnh trong OpenGL 18
2.1.2.3. Thư viện OpenGL 20
2.1.2.4. Đường ống dẫn trong OpenGL (OpenGL Rendering pipeline) 21
2.1.3. Giới thiệu về OpenGL ES 2.0 22
2.1.4. Giới thiệu về hệ điều hành ANDROID và IOS 23
2.1.4.1. ANDROID 23
2.1.4.2. IOS 25
2.2. Giới thiệu về 3D cơ bản 27
2.2.1. Hệ tọa độ 3D 27
2.2.2. Quy tắc bàn tay trái- bàn tay phải 28
Xây dựng game 3D Sword Man trên Android, IOS và Windows


SVTH: Hồ Thị Trang – Lớp 06T4 Page 7


2.2.3. Xác định vị trí của một điểm trong tọa độ 3D 28
2.2.4. Các phép dịch chuyển cơ bản ở trong 3D 29
2.2.4.1. Phép Tịnh tiến (Translate) 29
2.2.4.2. Phép biến dạng theo một tỷ lệ 30
2.2.4.3. Phép quay quanh một trục tọa độ theo một góc a 31
2.2.5. Phép chiếu trong 3D 32
2.2.5.1. Chiếu phối cảnh 33
2.2.5.2. Chiếu trực giao (phép chiếu vuông góc) 33
2.2.6. Tọa độ thực đến thiết bị 34
2.3. Cấu trúc của một game 36
2.3.1. Game Loop (vòng lặp của game) 36
2.3.2. Framerate (FPS) 37
2.3.3. Bộ nhớ (memory) 38
2.3.4. State 38
2.4. Giới thiệu về NDK 39
CHƯƠNG 3. PHÂN TÍCH TRÒ CHƠI 43
3.1. Hệ thống và tính khả chuyển (portability): 43
3.1.1. C/C++ và thư viện 43
3.1.2. Phân tích tính khả chuyển (portability) của các thành phần trong trò chơi 44
3.2. Xây dựng hệ thống khả chuyển 47
Xây dựng game 3D Sword Man trên Android, IOS và Windows


SVTH: Hồ Thị Trang – Lớp 06T4 Page 8

3.2.1. Sử dụng các tiền xử lý 48
3.2.2. Sử dụng nguyên mẫu hàm, lớp trừu tượng 48
3.3. Cấu trúc của một Trò chơi 49
3.3.1. Vòng lặp trò chơi 49

3.3.2. Cấu trúc trò chơi 51
3.3.3. Nội dung trò chơi 53
3.3.4. Đồ họa 56
3.3.5. Âm Thanh 58
CHƯƠNG 4. QUÁ TRÌNH LẬP TRÌNH 60
4.1. Thiết kế chương trình 60
4.2. Vòng lặp trò chơi 61
4.3. Nội dung trò chơi 62
4.3.1. Khởi tạo vị trí hiện tại của trái cây 63
4.3.2. Cập nhật trạng thái của trái cây 63
4.3.3. Kiểm tra va chạm 64
4.3.4. Tính toán lại các trạng thái sau khi va chạm 64
4.4. Đồ Họa 64
4.4.1.Tải shader và biên dịch 65
4.4.2. Vẽ một đối tượng 3D 65
4.4.3. Vẽ một đối tượng 2D 66
Xây dựng game 3D Sword Man trên Android, IOS và Windows


SVTH: Hồ Thị Trang – Lớp 06T4 Page 9

4.5. Nhập 66
4.6. Âm thanh 67
4.7. Giao diện ứng dụng 67
4.8. Giao diện xuất nhập tập tin 68
CHƯƠNG 5. QUY TRÌNH CHUYỂN TRÒ CHƠI 69
5.1. Chuyển sang IOS 69
5.1.1. Cài đặt môi trường phát triển 69
5.1.2. Tạo dự án, biên dịch 70
5.1.3. Âm thanh 70

5.1.4. Nhập 71
5.1.5. Giao diện ứng dụng 72
5.1.6. Xuất nhập tập tin 73
5.2. Chuyển sang Android 73
5.2.1 Cài đặt phần mềm 73
5.2.2. Hoạt động của JNI và quy trình biên dịch 74
5.2.3. Đồ họa 75
5.2.4. Âm thanh 75
5.2.5. Cảm ứng chạm 76
5.2.6. Giao diện ứng dụng 77
5.2.7. Xử lí file 78
Xây dựng game 3D Sword Man trên Android, IOS và Windows


SVTH: Hồ Thị Trang – Lớp 06T4 Page 10

CHƯƠNG 6. QUÁ TRÌNH KIỂM THỬ SẢN PHẨM GAME LÀM RA 80
6.1. Cài đặt hệ thống 80
6.1.1. Cài đặt trên Android 80
6.1.2. Cài đặt trên IOS 80
6.2. Kiểm thử 81
CHƯƠNG 7.MỘT SỐ KẾT QUẢ VÀ DEMO CỦA GAME 84
7.1. Kết quả demo trên Windows 84
7.2. Kết quả demo trên IOS 88
7.3. Kết quả demo trên Android (điện thoại Galaxy s) 92
CHƯƠNG 8. KẾT LUẬN 97
8.1. Kết quả đạt được 97
8.2. Những vấn đề còn tồn đọng 97
8.3. Hướng phát triển của đề tài 97


Xây dựng game 3D Sword Man trên Android, IOS và Windows


SVTH: Hồ Thị Trang – Lớp 06T4 Page 11

MỤC LỤC CÁC HÌNH
Hình 1. Biễu diễn OpenGl và mối quan hệ với các API 21
Hình 2. Biễu diễn đường ống dẫn trong OpenGL 22
Hình 3. Biễu diễn đường ống dẫn trong OpenGL 2.0 23
Hình 4. Biễu tượng của hệ điều hành Android 24
Hình 5. Hình ảnh của hệ điều hành IOS trên Ipad 27
Hình 6. Biễu diễn hệ tọa độ 3D 28
Hình 7. Biễu diễn quy tắc bàn tay trái- bàn tay phải 28
Hình 8. Biễu diễn một điểm trong hệ tọa độ 3D 29
Hình 9. Biễu diễn phép tịnh tiến một đối tượng theo một vector 30
Hình 10. Biễu diễn phép biến dạng một vật theo một tỷ lệ 31
Hình 11. Biễu diễn phép quay quanh một trục tọa độ theo một góc a 31
Hình 12. biễu diễn phép chiếu phối cảnh 33
Hình 13. Biễu diễn phép chiếu vuông góc 34
Hình 14. Biễu diễn tọa độ thực đến thiết bị thông qua NDC 34
Hình 15. Biễu diễn về NDC 35
Hình 16. Biễu diễn sự biến đổi 3 chiều thành 2 chiều 35
Hình 17. Biễu diễn quá trình xây dựng và chuyển trò chơi. 47
Hình 18. Biễu diễn vòng lặp của trò chơi 50
Hình 19. Cấu trúc của một trò chơi 51
Xây dựng game 3D Sword Man trên Android, IOS và Windows


SVTH: Hồ Thị Trang – Lớp 06T4 Page 12


Hình 20. Giao diện của trò chơi 52
Hình 21. Trạng thái của trò chơi 53
Hình 22. Biễu diễn chuyển động của trái cây 54
Hình 23. Biễu diễn thanh kiếm của người chơi 55
Hình 24. Biễu diễn va chạm giữa thanh kiếm và trái cây 55
Hình 25. Biễu diễn tính toán tọa độ sau va chạm 56
Hình 26. Biễu diễn đối tượng 3D trong trò chơi 57
Hình 27. Biễu diễn giao diện 2D 57
Hình 28. Biễu diễn cách bố trí để vẽ giao diện 2D trong trò chơi 58
Hình 29. Biễu diễn khung thiết kế của chương trình 60
Hình 30. Cách kế thừa các lớp trừ tượng trên các nền tảng khác nhau 61
Hình 31. Biễu diễn vòng lặp của trò chơi 62
Hình 32. Vòng đời của một trái cây 63
Hình 33. Sơ đồ hoạt động của OpenGl ES 2.0 trong chương trình 64
Hình 34. Kết quả demo về main menu ở trên Windows 84
Hình 35. Kết quả demo giao diện lúc đang chơi game trên windows 85
Hình 36. Kết quả demo lúc người chơi chạm vào trái cây trên windows 86
Hình 37. Kết quả demo lúc Game over trên windows 87
Hình 38. Demo giao diện màn hình highscore trên windows 88
Hình 39. Kết quả demo biểu tượng icon của game trên ios 89
Xây dựng game 3D Sword Man trên Android, IOS và Windows


SVTH: Hồ Thị Trang – Lớp 06T4 Page 13

Hình 40. Kết quả demo màn hình mainmeu trên ios 90
Hình 41. Kết quả demo màn hình lúc đang chơi game trên ios 90
Hình 42. Kết quả demo màn hình highscore trên ios 91
Hình 43. Kết quả demo màn hình gameOver trên ios 91
Hình 44. Kết quả demo màn hình About trên ios 92

Hình 45. Kết quả demo biểu tượng icon của game trên Android 93
Hình 46. Kết quả demo màn hình mainmenu trên Android 94
Hình 47. Kết quả demo màn hình game play trên Android 94
Hình 48. Kết quả demo màn hình highScore trên Android 95
Hình 49. Kết quả demo màn hình GameOver trên Android 96
Hình 50. Kết quả demo màn hình About trên Android 96








Xây dựng game 3D Sword Man trên Android, IOS và Windows


SVTH: Hồ Thị Trang – Lớp 06T4 Page 14

MỤC LỤC CÁC BẢ NG

Bảng1. Biễu diễn các kiểu dữ liệu trong OpenGL 19
Bảng 2. Các phiên bản OpenGL ES có thể sử dụng ND để tạo ra thư viện native 42
Bảng 3. Thực tế của các thành phần trong trò chơi trên 3 hệ thống 45
Bảng 4. Bảng nhận xét các thành phần trò chơi trên cả 3 hệ thống. 46
Bảng 5. Bản thiết kế âm thanh 59
Bảng 6. Biễu diễn các ca kiểm thử về gamePlay 82
Bảng 7. Hình biễu diễn các ca kiểm thử về âm thanh 83
Bảng 8. Hình biễu diễn các ca kiểm thử về Interrupt 83










Xây dựng game 3D Sword Man trên Android, IOS và Windows


SVTH: Hồ Thị Trang – Lớp 06T4 Page 15


CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI
1.1. Giới thiệu đề tài
Với đà phát triển của thông tin di dộng như hiện nay, thiết bị di động trở thành một trợ thủ
không thể thiếu của đa số mọi người. Các trò chơi giải trí trên di động ngày càng đa dạng. Đặc
biệt sự ra đời của hệ điều hành android và IOS càng tạo ra bước phát triển mới cho các ứng
dụng trên di động.
Công nghệ game ngày càng phát triển. Tuy nhiên đa số các game đều làm ở dạng 2D.
Thời gian gần đây một xu hướng game mới là game ở dạng 3D đang được ưa chuộng. Vì vậy,
bản thân em chọn đề tài này nhằm muốn nghiên cứu về kỹ thuật làm game 3D trên hệ điều
hành ANDROID và IOS. Bước đầu xây dựng demo một chương trình game đơn giản phục vụ
cho quá trình nghiên cứu và công việc tương lai sau này.
1.2. Mục đích, ý nghĩa của đề tài
 Củng cố những kiến thức đã học và nghiên cứu: tìm hiểu hệ điều hành android và IOS,
nghiên cứu công ghệ làm game 3D.
 Nghiên cứu cách xây dựng một game đa nền tảng, và quá trình chuyển từ windows sang
Android và IOS.


 Xây dựng trò chơi Sword Man trên hệ điều hành android, IOS, Windows.
1.3. Phương án triển khai đề tài
Để hoàn thành đề tài này, trong quá trình triển khai thực hiện cần tuân thủ các bước sau:
 Lập kế hoạch thực hiện đề tài.
 Thiết kế hệ thống và dữ liệu.
 Xây dựng chương trình (chia nhỏ các chức năng thành các module và component để giải
quyết từng phần).
Xây dựng game 3D Sword Man trên Android, IOS và Windows


SVTH: Hồ Thị Trang – Lớp 06T4 Page 16

 Củng cố kết quả đã đạt được (bao gồm kiểm thử các module và chức năng của hệ thống,
chỉnh sửa lỗi nếu có và tiến tới hoàn thiện chương trình ở mức có thể).
 Song song với các giai đoạn trên là quá trình học hỏi, tích góp tài liệu và các kiến thức về
các công cụ liên quan nhằm phục vụ cho việc xây dựng và hoàn thiện đề tài.














Xây dựng game 3D Sword Man trên Android, IOS và Windows


SVTH: Hồ Thị Trang – Lớp 06T4 Page 17

CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
2.1. Giới thiệu các công cụ để làm game 3D
2.1.1. Visual C++
Visual C++ là bộ công cụ lập trình nằm trong bộ Microsoft Visual Studio. Đây là một
môi trường lập trình đa năng dành cho ngôn ngữ C/C++ và vì là một môi trường lập trình trên
hệ điều hành Windows nên Visual C++ cho phép lập trình viên thực hiện rất nhiều công việc,
hỗ trợ lập trình viên việc coding, thiết kế giao diện Trong VC++ chúng ta có thể tạo được :
các ứng dụng trên Windows, ActiveX, hay thư viện liên kết động DLL…VC++ có nhiều công
cụ giúp việc thiết kế giao diện cho chương trình, kiểm lỗi và sửa lỗi.
2.1.2. Giới thiệu về OpenGL
2.1.2.1. Giới thiệu
Là một bộ thư viện đồ họa mở. Có khoảng 150 hàm giúp xây dựng các đối tượng và
thao tác cần thiết trong các ứng dụng tương tác 3D.
OpenGL hỗ trợ các hàm đồ họa:
• Xây dựng các đối tượng phức tạp từ các thành phần hình học cơ bản (điểm, đoạn, đa
giác, ảnh bitmap).
• Sắp xếp đối tượng trong 3D và chọn điểm thuận lợi để quan sát.
• Tính toán màu sắc của các đối tượng (màu sắc của đối tượng được quy định bởi điều
kiện chiếu sáng, texture của đối tượng, mô hình được xây dựng hoặc là kết hợp của cả 2 hoặc 3
yếu tố đó).
• Biến đổi những mô tả toán học của đối tượng và thông tin màu sắc thành phần các
pixel trên màn hình (quá trình này được gọi là rasterization).
Có API đa nền tảng: Windows, Mac, Linux, Unix.
Xây dựng game 3D Sword Man trên Android, IOS và Windows



SVTH: Hồ Thị Trang – Lớp 06T4 Page 18

Các hệ thống dùng để nhúng:
- Iphone, Windows mobile…
Dùng cho đa ngôn ngữ:
- C, C++, Python, Ruby, PHP…
Dùng cho cả cách vẽ trong 2D và 3D.
Những thứ OpenGL không hỗ trợ:
• Bản thân OpenGL không có sẵn các hàm nhập xuất hay thao tác trên window.
• OpenGL không có sẵn các hàm cấp cao để xây dựng các mô hình đối tượng, thay
vào đó, người dùng phải tự xây dựng từ các thành phần hình học cơ bản (điểm, đoạn thẳng, đa
giác).
2.1.2.2. Cấu trúc lệnh trong OpenGL
OpenGL sử dụng tiền tố gl và tiếp theo đó là những từ những từ được viết hoa ở chữ cái
đầu để tạo nên tên của một lệnh, ví dụ glClearColor(). Tương tự, OpenGL đặt tên các hằng số
bắt đầu bằng GL_ và các từ tiếp sau đều được viết hoa và cách nhau bởi dấu ’_’, ví dụ:
GL_COLOR_BUFFER_BIT.
Bên cạnh đó, với một số lệnh, để ám chỉ số lượng cũng như kiểu tham số được truyền,
một số hậu tố được sử dụng như trong bảng sau:
Hậu tố Kiểu dữ liệu Tương ứng với
kiểu trong C
Tương ứng với
kiểu trong
OpenGL
B 8-bit integer Signed char Glbyte
S 16-bit integer Short Glshort
I 32-bit integer Int or long Glint, Glsizei
Xây dựng game 3D Sword Man trên Android, IOS và Windows



SVTH: Hồ Thị Trang – Lớp 06T4 Page 19

F 32-bit floating-
point
Float GLfloat,
Glclampf
D 64-bit floating-
point
Double Glbouble,
GLclampd
Ub 8-bit unsigned
integer
Unsigned char GLubyte,
GLboolean
Us 16-bit unsigned
integer
Unsigned short GLushort
Ui 32-bit unsigned
integer
Unsigned int or
unsigned long
GLuint,
GLenum,
GLbitfield

Bảng1. Biễu diễn các kiểu dữ liệu trong OpenGL

Ví dụ: glVertex2i(1, 3) tương ứng với xác định một điểm(x, y) với x, y nguyên.
 Lưu ý:

OpenGL có định nghĩa một số kiểu biến, việc sử dụng các định nghĩa này thay vì định
nghĩa có sẵn của C sẽ tránh gây lỗi khi biên dịch code trên một hệ thống khác.
Một vài lệnh của OpenGL kết thúc bởi v ám chỉ rằng tham số truyền vào là một vector.
Ví dụ: glColor3fv(color_array) là mảng 1 chiều có 3 phần tử là float.

Xây dựng game 3D Sword Man trên Android, IOS và Windows


SVTH: Hồ Thị Trang – Lớp 06T4 Page 20

2.1.2.3. Thư viện OpenGL
 Core library
 OpenGL utility library(GLU)
 Links với hệ thống window
 OpenGL Utility Toolkit(Glut)
Để khắc phục một số nhược điểm của OpenGL, GLUT được tạo ra với nhiều hàm hỗ
trợ:
• Quản lý window
• Display callback
• Nhập xuất (bàn phím, chuột…)
• Vẽ một số đối tượng 3D phức tạp (mặt cầu, khối hộp…)
 OpenGL cho hệ thống nhúng
• Mobile phone
• PDAS
• Video game consoles
 Hệ tọa độ của OpenGL
OpenGL dùng hệ tọa độ theo quy tắc bàn tay phải.
 Mối quan hệ giữa OpenGL với các API
Xây dựng game 3D Sword Man trên Android, IOS và Windows



SVTH: Hồ Thị Trang – Lớp 06T4 Page 21


Hình 1. Biễu diễn OpenGl và mối quan hệ với các API
2.1.2.4. Đường ống dẫn trong OpenGL (OpenGL Rendering pipeline)
Đường ống dẫn của OpenGL gồm một chuỗi các quá trình xử lý theo trình tự. Hai đồ
họa thông tin, dữ liệu vertex-based và pixel-based, được xử lý thông qua các đường ống, Kết
hợp với nhau sau đó được viết vào frame buffer.Chú ý rằng OpenGL có thể gửi các dữ liệu đã
được xử lý lại cho ứng dụng của chúng ta.
Xây dựng game 3D Sword Man trên Android, IOS và Windows


SVTH: Hồ Thị Trang – Lớp 06T4 Page 22


Hình 2. Biễu diễn đường ống dẫn trong OpenGL
2.1.3. Giới thiệu về OpenGL ES 2.0
Là một phần mềm giao diện để vẽ đồ họa 3D phức tạp trên các thiết bị cầm tay và
nhúng. Nó chính là thư viện đồ họa cho các thiết bị cầm tay và nhúng với lập trình 3D phần
cứng bao gồm điện thoại di động, PDA, thiết bị, xe cộ, và hệ thống điện tử. Với OpenGL ES
2.0 thì chúng ta có thể lập trình shader trên các thiết bị nhỏ và di động.
 Đường ống dẫn(pipeline) trong OpenGL ES 2.0
Xây dựng game 3D Sword Man trên Android, IOS và Windows


SVTH: Hồ Thị Trang – Lớp 06T4 Page 23


Hình 3. Biễu diễn đường ống dẫn trong OpenGL 2.0

2.1.4. Giới thiệu về hệ điều hành ANDROID và IOS
2.1.4.1. ANDROID
Android cung cấp một bộ đầy đủ các phần mềm cho các thiết bị di động: Nó là một hệ
thống điều hành, middleware và các ứng dụng di động chủ chốt. Các Android Software
Development Kit (SDK) bây giờ đã có.
Xây dựng game 3D Sword Man trên Android, IOS và Windows


SVTH: Hồ Thị Trang – Lớp 06T4 Page 24


Hình 4. Biễu tượng của hệ điều hành Android
Android được xây dựng để cho phép các nhà phát triển tạo ra các ứng dụng di động hấp
dẫn tận dụng tất cả một chiếc điện thoại đã cung cấp. Nó được xây dựng để được thực sự mở.
Ví dụ, một ứng dụng có thể kêu gọi bất kỳ chức năng lõi của điện thoại như thực hiện cuộc gọi,
gửi tin nhắn văn bản, hoặc bằng cách sử dụng máy ảnh, cho phép các nhà phát triển để tạo ra
phong phú hơn và nhiều hơn nữa những kinh nghiệm cố kết cho người dùng.
Hơn nữa, nó sử dụng một máy ảo tuỳ chỉnh được thiết kế để tối ưu hóa bộ nhớ và tài
nguyên phần cứng trong một môi trường di động. Android là mã nguồn mở, nó có thể được
liberally mở rộng.
Android không phân biệt giữa các ứng dụng lõi của điện thoại và các ứng dụng của bên
thứ ba. Với các thiết bị xây dựng trên Hệ điều hành Android, người dùng có thể hoàn toàn thích
ứng với điện thoại đến lợi ích của họ. Họ có thể trao đổi trên màn hình của điện thoại, những
phong cách của dialer, hoặc bất kỳ ứng dụng.
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á
Xây dựng game 3D Sword Man trên Android, IOS và Windows


SVTH: Hồ Thị Trang – Lớp 06T4 Page 25


nhân – ví dụ như địa chỉ liên hệ của người dùng, lịch, hoặc vị trí địa lý – để cung cấp một trải
nghiệm người dùng có liên quan hơn. Với Android, một nhà phát triển có thể xây dựng một
ứng dụng cho phép người dùng xem vị trí của bạn bè của họ và được cảnh báo khi họ đang có
trong vùng phụ cận cho họ một cơ hội để kết nối.
Với Android tốc độ nhanh và phát triển ứng dụng dễ dàng.
Android cung cấp truy cập đến một loạt các thư viện công cụ hữu ích và có thể được sử
dụng để xây dựng các ứng dụng phong phú. Ví dụ, Android cho phép các nhà phát triển để có
được vị trí của điện thoại, và cho phép các thiết bị giao tiếp với nhau tạo điều kiện cho đồng
đẳng rich-to-peer ứng dụng xã hội.
Rất nhiều nhà phát triển hệ điều hành Android đã vào cuộc và các ROM cho Android
độc đáo được ra đời với nhiều tích năng nổi trội được tích hợp và đầy sáng tạo.
2.1.4.2. IOS
IOS được biết đến từ tháng 6 năm 2010. Là một hệ điều hành trên thiết bị di động của
Apple. Đầu tiên nó được phát triển cho iPhone. Sau đó được mở rộng cho các thiết bị khác của
Apple như: Ipod touch, iPad và Apple TV.
IOS là hệ điều hành nổi tiếng nhanh gọn và an toàn của Apple. IOS trên Iphone là một
hệ điều hành đa nhiệm (chúng ta vừa có thể duyệt web và vừa tải một cái gì đó từ trên mạng
về), được cài đặt trình duyệt web Safari an toàn và tốc độ nhanh.
Hệ điều hành IOS hỗ trợ Unicode, đây là điều rất được quan tâm tại thị trường việt Nam.
Ngoài ra các phần mềm như từ điển mở, phần mềm văn phòng mở…
Hệ điều hành Iphone được nhúng vào dưới dạng 1 firmware, dùng để restore, update
trực tiếp từ iTunes (thư viện âm nhạc, ứng dụng … khổng lồ của Apple) khi cài OS Iphone vì
nó là 1 dạng firmware nên chúng được nhớ trên chip, Rom phần cứng của Iphone, nhằm ngăn
chặn hacker, những người bẻ khóa. Chính vì điều này mà mỗi khi chúng ta update hay restore
lên phiên bản mới thì chúng ta sẽ không thể restore về phiên bản cũ trước đó.
Phiên bản IOS đầu tiên là firmware 1.0.

×