Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 83 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
83
Dung lượng
1,72 MB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KHOA TIN HỌC KHĨA LUẬN TỐT NGHIỆP NGÀNH CƠNG NGHỆ THƠNG TIN ĐỀ TÀI: XÂY DỰNG GAME 3D CHÉM TRÁI CÂY TRÊN WINDOWS VÀ ĐTDĐ SỬ DỤNG HĐH ANDROID GVHD SVTH LỚP : TRẦN UYÊN TRANG : NHỮ THỊ TRÀ MY : 08CNTT02 ĐÀ NẴNG, 05/2012 Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Đà Nẵng, ngày …, tháng …, năm 2012 Cán hướng dẫn Trần Uyên Trang SVTH: Nhữ Thị Trà My- 08CNTT02 Trang Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Đà Nẵng, ngày …, tháng …, năm 2012 Cán phản biện SVTH: Nhữ Thị Trà My- 08CNTT02 Trang Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android LỜI CẢM ƠN Em xin chân thành cảm ơn thầy cô giáo khoa TIN HỌC tồn thể thầy trường Đại Học Sư Phạm Đà Nẵng truyền đạt cho em kiến thức quý giá suốt bốn năm học vừa qua Xin chân thành cảm ơn cô: Trần Uyên Trang tận tình bảo giúp đỡ em hồn thành đề tài Cuối em xin cảm ơn anh chị công ty Gameloft bạn khoa TIN HỌC, người giúp đỡ, chia kiến thức, kinh nghiệm, tài liệu…trong suốt trình nghiên cứu thực đề tài SVTH: Nhữ Thị Trà My- 08CNTT02 Trang Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android LỜI CAM ĐOAN Em xin cam đoan: Những nội dung báo cáo em thực Mọi tham khảo dùng báo cáo 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ố Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, em xin chịu hoàn toàn trách nhiệm Sinh viên thực Nhữ Thị Trà My SVTH: Nhữ Thị Trà My- 08CNTT02 Trang Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 14 1.1 Giới thiệu đề tài 14 1.2 Mục đích, ý nghĩa đề tài 14 1.3 Phương án triển khai đề tài 14 CHƯƠNG CƠ SỞ LÝ THUYẾT 16 2.1 Giới thiệu công cụ để làm game 3D 16 2.1.1 Visual C++ 16 2.1.2 Giới thiệu OpenGL 16 2.1.3 Giới thiệu OpenGL ES 2.0 21 2.1.4 Giới thiệu hệ điều hành ANDROID 22 2.2 Giới thiệu 3D 25 2.2.1 Hệ tọa độ 3D 25 2.2.2 Quy tắc bàn tay trái- bàn tay phải 26 2.2.3 Xác định vị trí điểm tọa độ 3D 26 2.2.4 Các phép dịch chuyển 3D 27 2.2.5 Phép chiếu 3D 31 2.2.6 Tọa độ thực đến thiết bị 33 SVTH: Nhữ Thị Trà My- 08CNTT02 Trang Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android 2.3 Cấu trúc game 35 2.3.1 Game Loop (vòng lặp game) 35 2.3.2 Framerate (FPS) 36 2.3.3 Bộ nhớ (memory) 37 2.3.4 State 37 2.4 Giới thiệu NDK 38 CHƯƠNG PHÂN TÍCH TRÒ CHƠI 42 3.1 Hệ thống tính khả chuyển (portability): 42 3.1.1 C/C++ thư viện 42 3.1.2 Phân tích tính khả chuyển (portability) thành phần trò chơi 43 3.2 Xây dựng hệ thống khả chuyển 46 3.2.1 Sử dụng tiền xử lý 47 3.2.2 Sử dụng nguyên mẫu hàm, lớp trừu tượng 47 3.3 Cấu trúc Trò chơi 48 3.3.1 Vòng lặp trò chơi 48 3.3.2 Cấu trúc trò chơi 50 3.3.3 Nội dung trò chơi 52 3.3.4 Đồ họa 54 3.3.5 Âm Thanh 56 CHƯƠNG QUÁ TRÌNH LẬP TRÌNH 58 SVTH: Nhữ Thị Trà My- 08CNTT02 Trang Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android 4.1 Thiết kế chương trình 58 4.2 Vòng lặp trò chơi 59 4.3 Nội dung trò chơi 60 4.3.1 Khởi tạo vị trí trái 61 4.3.2 Cập nhật trạng thái trái 61 4.3.3 Kiểm tra va chạm 62 4.3.4 Tính tốn lại trạng thái sau va chạm 62 4.4 Đồ Họa 62 4.4.1.Tải shader biên dịch 63 4.4.2 Vẽ đối tượng 3D 63 4.4.3 Vẽ đối tượng 2D 64 4.5 Nhập 64 4.6 Âm 65 4.7 Giao diện ứng dụng 65 4.8 Giao diện xuất nhập tập tin 66 CHƯƠNG QUY TRÌNH CHUYỂN TRỊ CHƠI 67 5.1 Chuyển sang Android 67 5.1.1 Cài đặt phần mềm 67 5.1.2 Hoạt động JNI quy trình biên dịch 67 5.1.3 Đồ họa 68 SVTH: Nhữ Thị Trà My- 08CNTT02 Trang Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android 5.1.4 Âm 69 5.1.5 Cảm ứng chạm 70 5.1.6 Giao diện ứng dụng 71 5.1.7 Xử lí file 71 CHƯƠNG QUÁ TRÌNH CÀI ĐẶT HỆT THỐNG TRÊN MOBIE 73 6.1 Cài đặt hệ thống Android 73 CHƯƠNG 7.MỘT SỐ KẾT QUẢ VÀ DEMO CỦA GAME 74 7.1 Kết demo Windows 74 7.2 Kết demo Android (điện thoại Galaxy mini) 79 CHƯƠNG KẾT LUẬN 82 8.1 Kết đạt 82 8.2 Những vấn đề tồn đọng 82 8.3 Hướng phát triển đề tài 82 TÀI LIỆU THAM KHẢO 83 SVTH: Nhữ Thị Trà My- 08CNTT02 Trang Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android MỤC LỤC CÁC HÌNH Hình Biễu diễn OpenGl mối quan hệ với API 20 Hình Biễu diễn đường ống dẫn OpenGL 21 Hình Biễu diễn đường ống dẫn OpenGL 2.0 22 Hình Biễu tượng hệ điều hành Android 23 Hình Biễu diễn hệ tọa độ 3D 25 Hình Biễu diễn quy tắc bàn tay trái- bàn tay phải 26 Hình Biễu diễn điểm hệ tọa độ 3D 26 Hình Biễu diễn phép tịnh tiến đối tượng theo vector 27 Hình Biễu diễn phép biến dạng theo tỷ lệ 28 Hình 10 Biễu diễn phép biến dạng khơng theo tỷ lệ 28 Hình 11 Biễu diễn phép quay quanh trục tọa độ theo góc a 29 Hình 12 Phép quay theo trục Ox 30 Hình 13 Phép quay theo trục Oz 31 Hình 14 Biễu diễn phép chiếu phối cảnh 32 Hình 15 Biễu diễn phép chiếu vng góc 33 Hình 16 Biễu diễn tọa độ thực đến thiết bị thông qua NDC 33 Hình 17 Biễu diễn NDC 34 Hình 18 Biễu diễn biến đổi chiều thành chiều 34 Hình 19 Biễu diễn trình xây dựng chuyển trị chơi 46 SVTH: Nhữ Thị Trà My- 08CNTT02 Trang 10 Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android 5.1.4 Âm NDK không hổ trợ chơi âm Android phiên 2.2 trở sau Do sử dụng Java để chạy tập tin âm Phần tải tập tin âm thanh, Play Sound StopSound cài đặt Java: Trong C++, ta cài đặt hàm PlaySound Stop Sound cách gọi tới hàm PlaySound đối tượng Java SVTH: Nhữ Thị Trà My- 08CNTT02 Trang 69 Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android 5.1.5 Cảm ứng chạm Trong ứng dụng Android, ta nhận kiện cảm ứng chạm thông qua hàm OnTouchEvent Từ ta gọi đến hàm native C++ xử lí SVTH: Nhữ Thị Trà My- 08CNTT02 Trang 70 Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android 5.1.6 Giao diện ứng dụng Ứng dụng Java viết theo Activity Trong ứng dụng Java, tải GLSurfaceView để thể giao diện OpenGL ES 2.0 Trong hàm này, thêm phương thức để gọi chương trình C/C++ từ thư viện native lên thực Các phương thức: - onSurfaceCreate: gọi đối tượng GLSurfaceView tạo ra, ta cần gọi hàm app->Init(), app->StartGame() onDrawFrame: hàm gọi đối tượng vẽ Tại ta cần gọi hàm app>Update(), app->Render 5.1.7 Xử lí file Các tập tin res/raw truy cập từ Android lệnh fdopen() Tuy nhiên, ta cần phải biết thông số ID để thực truy xuất Từ Java ta lấy thơng số truyền vào C/C++: Trong C++ ta lưu lại tham số Sau sử dụng lúc cần thiết SVTH: Nhữ Thị Trà My- 08CNTT02 Trang 71 Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android Vậy ta đọc tập tin tài nguyên hiển thị lên trò chơi SVTH: Nhữ Thị Trà My- 08CNTT02 Trang 72 Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android CHƯƠNG QUÁ TRÌNH CÀI ĐẶT HỆT THỐNG TRÊN MOBIE 6.1 Cài đặt hệ thống Android Có cách để cài đặt Dùng Thẻ nhớ Copy file apk sau build vào thẻ nhớ điện thoại Sau vào điện thoại Chọn chương trình vừa copy vào thẻ nhở để cài đặt Dùng câu lệnh Cắm điện thoại vào máy tính máy tính kết nối với điện thoại Android Dùng câu lệnh: adb devices để kiểm tra xem máy tính kết nối với điện thoại chưa Sau điện thoại Android kết nối với máy tính Ta dùng lệnh: Adb install -r để cài đặt điện thoại Cách hủy bỏ game cài đặt Chúng ta vào mục setting -> Applications->Manage application Rồi sau chọn vào ứng dụng game mà cài đặt máy Chọn Unstill để gỡ ứng dụng game SVTH: Nhữ Thị Trà My- 08CNTT02 Trang 73 Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android CHƯƠNG MỘT SỐ KẾT QUẢ VÀ DEMO CỦA GAME 7.1 Kết demo Windows Màn Hình main menu Hình 36 Kết demo main menu Windows SVTH: Nhữ Thị Trà My- 08CNTT02 Trang 74 Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android Ở hình lúc chơi game Hình 37 Kết demo giao diện lúc chơi game windows SVTH: Nhữ Thị Trà My- 08CNTT02 Trang 75 Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android Lúc người dùng chạm vào trái chuyển động Hình 38 Kết demo lúc người chơi chạm vào trái windows SVTH: Nhữ Thị Trà My- 08CNTT02 Trang 76 Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android Màn hình lúc bị Game over Hình 39 Kết demo lúc Game over windows SVTH: Nhữ Thị Trà My- 08CNTT02 Trang 77 Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android Màn hình Highscore Hình 40 Demo giao diện hình highscore windows SVTH: Nhữ Thị Trà My- 08CNTT02 Trang 78 Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android 7.2 Kết demo Android (điện thoại Galaxy mini) Biểu tượng Icon game Hình 41 Kết demo biểu tượng icon game Android Màn hình Mainmenu Hình 42 Kết demo hình mainmenu Android SVTH: Nhữ Thị Trà My- 08CNTT02 Trang 79 Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android Màn hình Gameplay Hình 43 Kết demo hình game play Android Màn hình Higscore Hình 44 Kết demo hình highScore Android SVTH: Nhữ Thị Trà My- 08CNTT02 Trang 80 Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android Màn hình GameOver Hình 45 Kết demo hình GameOver Android Màn hình About Hình 46 Kết demo hình About Android SVTH: Nhữ Thị Trà My- 08CNTT02 Trang 81 Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android CHƯƠNG KẾT LUẬN 8.1 Kết đạt Tìm hiểu cách xây dựng game đa tảng, trình chuyển game từ windows sang Android Biết cấu trúc game 3D Xây dựng thành công game 3D hệ điều hành Windows ĐTDĐ có HĐH Android với giao diện thân thiện dễ sử dụng 8.2 Những vấn đề cịn tồn đọng Các tính game đơn giản 8.3 Hướng phát triển đề tài Xây dựng thêm tính game : xuất nhập tên người chơi, Tạo thêm hiệu ứng cho game Và đặc biệt phát triển để game chuyển qua Khơng có windows, Adroid mà nhiều hệ điều hành khác SVTH: Nhữ Thị Trà My- 08CNTT02 Trang 82 Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android TÀI LIỆU THAM KHẢO [1] Trang web: http://fly.cc.fer.hr/~unreal/theredbook/ [2] Lê Phong: Hướng dẫn lập trình OpenGL [3] Trang web: http://glprogramming.com/red/ [4] Lê Tấn Hùng, Huỳnh Quyết Thắng: kỹ thuật đồ họa Nhà xuất khoa học kỹ thuật, Hà Nội-2000 [5] Donald Hearn, M Pauline Baker: Computer Graphics, Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1986 [6] Trang web: http://forums.gamevn.com/archive/index.php/t-43474.html, www.vietnamandroid.com, … [7] Và số tài liệu khác SVTH: Nhữ Thị Trà My- 08CNTT02 Trang 83 ... Trang 24 Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android Android 2.2 Android 2.3.3 Android 3.0 Android 3.1 Android 3.2 Android 4.0 Android 4.0.3 2.2 Giới thiệu 3D 2.2.1... Trang 34 Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android 2.3 Cấu trúc game Các khái niệm game 2.3.1 Game Loop (vòng lặp game) Là thành phần quan trọng game Game loop giúp game chạy... người chơi chạm vào trái windows 76 Hình 39 Kết demo lúc Game over windows 77 SVTH: Nhữ Thị Trà My- 08CNTT02 Trang 11 Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android Hình