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
2,54 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 đƣợc 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 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 đƣợc 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: đƣợc gọi đối tƣợng GLSurfaceView đƣợc tạo ra, ta cần gọi hàm app->Init(), app->StartGame() onDrawFrame: hàm đƣợc gọi đối tƣợng đƣợc 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 đƣợc 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 cách xây dựng game đa tảng, trình chuyển game từ windows sang Android Biết đƣợc 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 đề 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 ... My- 08CNTT02 Trang 30 Xây dựng game 3D chém trái Windows ĐTDĐ sử dụng HĐH Android Hình 13 Phép quay theo trục Oz 2.2.5 Phép chiếu 3D Giới hạn vùng để vẽ ảnh thiết bị 3D: Trái, phải, trên, dƣới,... thành chiều 34 Hình 19 Biễu diễn q 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 Hình 20 Biễu... demo lúc 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