Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 70 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
70
Dung lượng
3,1 MB
Nội dung
NGHIÊN CỨU ENGINE COCOS2D-X VÀ ỨNG DỤNG LÀM GAME ĐUỔI BẮT Niên khóa : 2011 – 2015 VIỆN ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN TẠ VĂN DẬU NGHIÊN CỨU ENGINE GAME COCOS2D-X LẬP TRÌNH GAME MOBILE ĐA NỀN TẢNG ỨNG DỤNG XÂY DỰNG GAME ĐUỔI BẮT Chuyên ngành: Công nghệ thông tin ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Hà Nội - Năm 2014 VIỆN ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN TẠ VĂN DẬU NGHIÊN CỨU ENGINE GAME COCOS2D-X LẬP TRÌNH GAME MOBILE ĐA NỀN TẢNG ỨNG DỤNG XÂY DỰNG GAME ĐUỔI BẮT Chuyên ngành: Công nghệ thông tin Cán hướng dẫn: Ths Mai Thị Thúy Hà ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Hà Nội - Năm 2014 VIỆN ĐẠI HỌC MỞ HÀ NỘI CỘNG HÕA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN Độc lập - Tự – Hạnh phúc NHIỆM VỤ CỦA ĐỒ ÁN TỐT NGHIỆP Họ tên : Tạ Văn Dậu Giới tính : Nam Ngày, tháng, năm sinh : 02/02/1993 Nơi sinh : Vĩnh Phúc Chuyên ngành : Công nghệ thông tin Mã số : TÊN ĐỀ TÀI Nghiên cứu engine game cocos2d-x để lập trình game mobile đa tảng Ứng dụng vào làm game Đuổi bắt NHIỆM VỤ VÀ NỘI DUNG Nhiệm vụ cụ thể đồ án tốt nghiệp: - Tìm hiểu nghiên cứu engine game cocos2d-x - Phân tích xác định yêu cầu game mobile - Xây dựng game Đuổi bắt - Triển khai đa tảng NGÀY GIAO NHIỆM VỤ: / / NGÀY HOÀN THÀNH NHIỆM VỤ: / / CÁN BỘ HƯỚNG DẪN: Ths Mai Thị Thúy Hà Nội dung đề cương Đồ án Hội đồng chuyên ngành thông qua Hà Nội, ngày CÁN BỘ HƯỚNG DẪN Mai Thị Thúy Hà tháng năm 2014 KHOA CƠNG NGHỆ THƠNG TIN LỜI NĨI ĐẦU Hiện thiết bị di động ngày phong phú chủng loại phần cứng chạy nhiều tảng hệ điều hành khác Các hệ điều hành phổ biến kể đến iOS (Apple), Android (Google), Window Phone (Microsoft), Vì nhu cầu phần mềm nói chung game mobile nói riêng ngày lớn Hiện thông thường lập trình viên phát triển game tảng sau phát triển cho tảng khác, công việc tốn nhiều thời gian công sức cho nhà phát triển việc bảo trì, nâng cấp phần mềm, game Vì việc lập trình game đa tảng hướng mới, phải vận dụng kiến thức nhiều hệ điều hành, nhiều tảng Hiện có nhiều engine-game đời phục vụ cho việc lập trình game đa tảng như: Unity, Appcelerator Titanium, Game Salad, Sprite Kit, Cocos2D, Cocos2d-x Vì em lựa chọn nghiên cứu loại engine-game đồ án tốt nghiệp đại học Và đề tài tốt nghiệp em là: “Nghiên cứu engine game Cocos2d-x để lập trình game mobile đa tảng Ứng dụng làm làm game Đuổi bắt “ Em xin gửi lời cảm ơn đến Thầy, Cô khoa Công nghệ Thông tin trường Viện Đại học Mở Hà Nội tận tình dạy dỗ, dìu dắt em suốt bốn năm đại học, thầy cho em kiến thức kinh nghiệm cần thiết để thực đề tài Em xin gửi lời cảm ơn chân thành tới Ths Mai Thị Thúy Hà, người hướng dẫn, giúp đỡ, động viên em hồn thành đồ án Do thời gian có hạn, kiến thức kinh nghiệm thân hạn chế, đồ án cịn nhiều thiết sót, em mong nhận ý kiến đóng góp quý báu từ thầy cô bạn đồng nghiệp để đồ án hoàn thiện Em xin chân thành cảm ơn ! MỤC LỤC Trang Chương TỔNG QUAN VỀ ĐỀ TÀI 1.1 Đặt vấn đề 1.2 Mục tiêu phạm vi đề tài 1.3 Đối tượng phương pháp nghiên cứu Chương CÔNG NGHỆ SỬ DỤNG PHỤC VỤ ĐỀ TÀI 2.1 Ngơn ngữ lập trình C++ 2.1.1 Khái niệm lập trình hướng đối tượng 2.1.2 Phương pháp lập trình hướng đối tượng C++ 2.2 Tìm hiểu engine game cocos2d-x 2.2.1 Khái niệm game engine 2.2.2 Game engine Cocos2d-x 2.3 Công cụ TileMap ứng dụng Cocos2d-x 27 2.3.1 TileMap 27 2.3.2 TileMap lập trình Cocos2d-x 29 Chương 32 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 32 3.1 Xây dựng ý tưởng 32 3.2 Kịch game 33 3.3 Phân tích hệ thống game 35 3.3.1 Qui trình xử lý 35 3.3.2 Mơ hình tiến trình nghiệp vụ 36 3.3.3 Sơ đồ Activity Diagram 37 3.4 Thiết kế đồ họa 38 3.4.1 Thiết kế Map 38 3.4.2 Thiết kế nhân vật 42 Chương 47 TRIỂN KHAI ĐA NỀN TẢNG 47 4.1 Xây dựng trò chơi Win32 47 4.2 Xây dựng trò chơi Android 50 4.3 Xây dựng trò chơi iOS 55 KẾT LUẬN 59 TÀI LIỆU THAM KHẢO 60 TÓM TẮT ĐỒ ÁN - Họ tên: Tạ Văn Dậu - Chuyên ngành: Công nghệ thơng tin Khóa: 2011 – 2015 - Cán hướng dẫn: Ths Mai Thị Thúy Hà - Tên đề tài: Nghiên cứu engine game cocos2d-x lập trình game mobile đa tảng Ứng dụng vào làm game “Đuổi bắt” - Tóm tắt đề tài: Nghiên cứu engine game cocos2d-x phiên 2.2.3 với ngơn ngữ lập trình C++ Tìm hiểu ứng dụng công cụ tạo đồ game – Tilemap lập trình game với cocos2d-x Xây dựng game đuổi bắt dựa đối tượng nghiên cứu engine game cocos2d-x Triển khai game tảng hệ điều hanh di động Android, iOS Window Phone DANH MỤC TỪ VIẾT TẮT STT Tên viết tắt Tên đầy đủ ADT Android Development Tools NDK Native Development Kit SDK Software Development Kit OOP Object Oriented Programming PC Personal Computer RAM Random Memory Access Dịch đầy đủ tiếng Việt Bộ công cụ phát triển Andoroid Bộ công cụ phát triển Bộ công cụ phát triển phần mềm Lập trình hướng đối tượng Máy tính cá nhân Bộ nhớ truy cập ngẫu nhiên DANH MỤC HÌNH VẼ Hình 2.1 Cấu trúc chương trình cocos2d-x Hình 2.2 Code hàm applicationDidFinishLaunching Hình 2.3 Sơ đồ lớp CCNode 12 Hình 2.4 Hệ thống tọa độ cocos2d-x 13 Hình 2.5 Ví dụ thiết lập AnchorPoint cocos2d-x 14 Hình 2.6 Một Scene game đơn giản 15 Hình 2.7 Sơ đồ cấu trúc Scene 16 Hình 2.8 Thuộc tính Zorder sprite 20 Hình 2.9 Thực animation cho sprite 20 Hình 2.10 Thực animation cho sprite 21 Hình 2.11 File png font fnt 26 Hình 2.12 CCLabelBMFont(trên) CCLabelTTF(dưới) 27 Hình 2.13 Các thuộc tính Object TileMap 28 Hình 2.14 Các đối tượng cần ý tilemap Editor 29 Hình 2.13 Các đối tượng ObjectGroup “object” 30 Hình 3.1 Quy trình xử lý game 35 Hình 3.2 Mơ hình tiến trình nghiệp vụ 36 Hình 3.3 Sơ đồ Activity Diagram 37 Hình 3.4 Tạo tilemap 38 Hình 3.5 Add backgroudLayer 38 Hình 3.6 Tạo tileset 39 Hình 3.7 Thêm tileset 39 Hình 3.8 Các tileset 40 Hình 3.9 Thêm tileset vào map 40 Hình 3.10 Tạo Object tilemap 41 Hình 3.11 Tạo layer xác định va chạm 41 Hình 3.12 Lưu map 42 Hình 3.13 Thiết kế trạng thái chaien 42 Hình 3.14 Thiết kế trạng thái nobita 43 Hình 3.15 Thiết kế vật cản 43 Hình 3.16 Giao diện Menu 44 Hình 3.17 Giao diện chơi 44 Hình 3.18 Giao diện chơi 45 Hình 3.19 Giao diện chơi 45 Hình 3.20 Màn hình kết game 46 Hình 3.21 Màn hình kết game 46 Hình 4.1 Thư mục cocos2d-x 47 Hình 4.2 Cấu trúc solution Cocos2d-x 48 Hình 4.3 Build solution Cocos2d-x 48 Hình 4.4 Debug 49 Hình 4.5 Khi build project thành công 49 Hình 4.6 Thêm biến mơi trường NDK 51 Hình 4.7 Thêm biến môi trường Cygwin 51 Hình 4.8 Import project DuoiBat thư viện libcocos2dx vào eclipse 52 Hình 4.9 Import project hellococos thành cơng vào eclipse 52 Hình 4.10 Android.mk 53 Hình 4.11 Build project thành công eclipse 53 Hình 4.12 Build file apk thành cơng 54 Hình 4.13 Mở project iOS 55 Hình 4.14 Cấu trúc thư mục project cocos2d-x – iOS 56 Hình 4.15 Thêm Resource 57 Hình 4.16 Chọn iPhone Simulator 57 Hình 4.17 Build thành công 58 46 Hình 3.20 Màn hình kết game Hình 3.21 Màn hình kết game 47 Chương TRIỂN KHAI ĐA NỀN TẢNG 4.1 Xây dựng trò chơi Win32 Việc ta cần cài đặt IDE để thuận lợi cho việc lập trình chạy thử ứng dụng, windows lựa chọn tốt visual studio, chọn Visual Studio 2010 Download cocos2d-x 2.2.3 trang web: http://www.cocos2dx.org/download Sau download cocos2d-x 2.2.3 giải nén thư mục sau (Hình 4.1): Hình 4.1 Thư mục cocos2d-x 48 Sau ta mở tập tin solution visual cocos2d-win32.vc2010.sln Nếu visual studio 2012 2013 ta cần mở file solution tương ứng để chạy Sau mở visual studio ta thấy cấu trúc solution sau (Hình 4.2): Hình 4.2 Cấu trúc solution Cocos2d-x Giờ ta kích chuột phải vào solution chọn build solution để visual studio biên dịch toàn thư viện cocos2d-x project test: Hình 4.3 Build solution Cocos2d-x 49 Sau visual studio biên dịch xong toàn solution cocos2d-x ta chạy thử project HeloCpp: Hình 4.4 Debug Sau build thành cơng (Hình 4.5): Hình 4.5 Khi build project thành cơng Đến ta chạy project có sẵn solution cocos2d-x Cocos2d-x có hỗ trợ script python giúp tạo project cocos2d-x 50 Để chạy đoạn mã Python ta phải cài cài đặt Python (Nên dùng Python 2.7.6) Python download cài đặt tại: https://www.python.org/download/ 4.2 Xây dựng trò chơi Android Để build file apk chạy thiết bị Android cần tải công cụ sau: ADT kèm Eclipse: http://developer.android.com/tools/sdk/eclipse- adt.html NDK10: https://developer.android.com/tools/sdk/ndk/index.html JDK: http://www.oracle.com/technetwork/java/javase/downloads/ Cygwin: https://www.cygwin.com/ Sau tải ta cài đặt jdk giải nén ADT NDK Nên giải nén ADT NDK foder với cocos2d-x cho dễ quản lý Cygwin trình giả lập mơi trường Linux hệ điều hành Window Khi cài đặt Cygwin ta quan tâm đến gói GNU make Gói có tác dụng biên dịch mã c++ Tiếp theo cần thiết lập biến mơi trường theo trình tự sau: My Computer/ Properties/ Advance System Setting/ Environment Variables ta hình cho phép thiết lập biến mơi trường: 51 Hình 4.6 Thêm biến mơi trường NDK Hình 4.7 Thêm biến môi trường Cygwin Tiếp theo ta mở Eclipse thư mục ADT import package cần thiết gồm project mà ta muốn build thư viện cocos2d-x đường dẫn: {RootFolder}\cocos2d-x-2.2.3\cocos2dx\platform\android\java 52 vào Eclipse Hình 4.8 Import project DuoiBat thư viện libcocos2dx vào eclipse Nếu thiết lập biến mơi trường thành cơng ta import nhận đường dẫn NDK compile file c++ thành file java Hình 4.9 Import project hellococos thành công vào eclipse Thêm file Mã nguồn vào Android.mk Như biết lập trình C++ hệ điều hành Linux ta cần cơng cụ là: Trình biên dịch gcc, trình gỡ lỗi gdb Makefile Makefile quản lý thiết lập kịch cho chương trình c++ Linux Makefile thành phần GNU make Đây lý cài đặt GNU make cho Cygwin Ta phải thêm tất file cpp mã nguồn mà ta viết cho game vào Android.mk 53 Hình 4.10 Android.mk Khi build project thành cơng sau (Hình 4.11): Hình 4.11 Build project thành cơng eclipse 54 Hình 4.12 Build file apk thành cơng 55 4.3 Xây dựng trị chơi iOS Để triển khai game hệ điều hành iOS cần có máy tính Chạy hệ điều hành Mac OSX Máy tính Máy Macintosh Apple máy tính cài Hackintosh chạy chip Intel Cũng giống win32 có Visual Studio Mac có IDE mạnh hỗ trợ lập trình x-code Download miễn phí tại: https://developer.apple.com/xcode/downloads/ Ta di chuyển đến {Root}/cocos2d-x/project/DuoiBat/proj.ios mở DuoiBat.xcodeproj lên hình 4.13 Hình 4.13 Mở project iOS 56 Giao diện project sau Cũng giống win32 thấy folder Classes thư viện Box2D, chipmunk Hình 4.14 Cấu trúc thư mục project cocos2d-x – iOS Khác với Win32 ta phải thêm file tài nguyên thư mục resource cách RightClick vào Resource chọn AddFile to làm hình 4.15 57 Hình 4.15 Thêm Resource Sau thêm file Resource song ta tiến hành chọn iPhone Simulator để build project (Hình 4.16) Hình 4.16 Chọn iPhone Simulator 58 Khi build project thành cơng ta có kết sau (Hình 4.17) Hình 4.17 Build thành công 59 KẾT LUẬN Đánh giá sản phẩm - Ưu điểm: Game hoạt động hệ điều hành Android, iOS Win32 Đáp ứng yêu cầu đề tài nghiên cứu Khi chạy hệ điều hành này, hiệu suất game tốt, hoạt động mượt mà, khơng gặp lỗi Game tương thích với hầu hết kích cỡ hình loại điện thoại Android iOS khác Game đạt mục đích giải trí đề Có lối chơi đơn giản, tiết tấu nhanh Hạn chế: Chưa hoàn toàn đáp ứng hết yêu cầu mong muốn như: Chưa tích hợp facebook SDK Admob SDK cho tảng riêng biệt Chưa đưa lên kho ứng dụng thiếu kinh phí Hướng phát triển Phát triển thêm mặt đồ họa cho game để tương thích với máy có cấu hình cao sau Phát triển thêm liệu vật phẩm để học tốn học qua game Tích hợp mạng xã hội quảng cáo vào game Cuối đưa lên kho ứng dụng Apple Store Google Application Store 60 TÀI LIỆU THAM KHẢO Tiếng Việt Trương Công Đồn, Phạm Cơng Hịa, Dương Thăng Long, Lập trình Mobile, Tài liệu lưu hành nội - Khoa CNTT – Viện Đại học Mở Hà Nội Đặng Văn Đức, Phân tích thiết kế hướng đối tượng UML, Nhà xuất Giáo dục Lập trình hướng đối tượng C++ Tác giả: Phạm Văn Ất Tiếng Anh G Blake Meike, John Lombardo, Rick Rogers, Zigurd Mednieks, Android Application Development, O’Reilly Media, Inc, 2009 Reto Meier, Professional Android Application, Development, Wiley Publishing, Inc, 2010 Roger Engelbert, Cocos2dx by example beginner's