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

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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠ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: Education@dng.vnn.vn 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 năm 2012 LỜI CẢM ƠN Đầu tiên em xin chân thành cảm ơn thầy cô trường Đại học Sư phạm Đà Nẵng, truyền đạt kinh nghiệm quý báu cho em 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 hồn thành đề tài luận văn tốt nghiệp Để có kết ngày hôm nay, xin chân thành cảm ơn Ban lãnh đạo anh chị Công ty TNHH TH-TM AsNet, nơi em thực tập tận tình giúp đỡ, tạo điều kiện tốt cho em hoàn thành đề tài Tuy nhiên, trình hồn thành đề tài khơng thể tránh khỏi thiếu sót Em mong nhận nhiều đóng góp quý thầy cô, anh chị công ty để đề tài hoàn thiệ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: Những nội dung luận văn thực hướng dẫn trực tiếp thầy thầy Lê Văn Mỹ Mọi 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 Nguyễn Thị Mỹ Lệ MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT MỞ ĐẦU Lý chọn đề tài Mục đích nghiên cứu Đối tượng phạm vi nghiên cứu 3.1 Đối tượng nghiên cứu 3.2 Phạm vi nghiên cứu Phương pháp nghiên cứu 10 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 đạt 10 Ý nghĩa khoa học thực tiễn đề tài 11 Cấu trúc luận văn 11 Phân công công việc: 11 1.1 Giới thiệu Android 13 1.1.1 Android gì? 13 1.1.2 Lịch sử Android 13 1.1.3 Những tính 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 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 đồ 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 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 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 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 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 game 41 3.1.6 Cách xử lý va chạm game 42 3.2 Phân tích thiết kế hệ thống 44 3.2.1 Phân tích yêu cầu 44 3.2 Kết chương trình 59 3.2.1 Giao diện menu 59 Kết đạt 60 1.1 Về lý thuyết 60 1.2.Về thực nghiệm 60 Hướng phát triển đề tài 61 TÀI LIỆU THAM KHẢO 62 DANH MỤC CÁC HÌNH Chương Hình 1 Biểu tượng hệ điều hành Android 13 Hình Mơ hình Android 15 Hình Mơ hình vịng đời Android 16 Hình Hình ảnh device emulator 20 Hình Biểu diễn bước cài đặt plugin 21 Hình Hình biểu diễn địa trang web cài đặt plugin 21 Hình Hình biểu diễn qua trình cài đặt tự động plugin 22 Chương Hinh File ảnh vector bitmap 23 Hinh 2 Hệ màu RGB 24 Hinh Hệ màu CMYK 25 Hinh Sprite 27 Hinh Quá trình đồng frame 29 Hinh Tile 30 Hinh Thứ tự xếp layer 31 Hinh Isometric tile 32 Hinh Các hướng di chuyển Isometric tile 32 Hinh 10 Sơ đồ Isometric tile map 32 Hinh 11 Hexagon tile 33 Hinh 12 Các hướng di chuyển Hexagon tile 33 Hinh 13 Sơ đồ Hexagon tile map 33 Hinh 14 Chưa chuyển tiếp Hinh 15 Sau chuyển tiếp 34 Hinh 16 Map dùng tile 34 Hinh 17 Dùng background 35 Hinh 18 Xảy va chạm Hinh 19 Chưa xảy va chạm 35 Chương Hình Mơ hình tổng qt BrainStorm 40 Hình Thiết kế chi tiết cho đối tượng plants game 40 Hình 3 Mơ hình thiết kế nhân vật Zombie 41 Hình Va chạm plants zombies 42 Hình Hình ảnh Zombies tiến vào nhà 43 Hình Plants phát zombies bắn đạn 43 Hình Va chạm đạn zombies 44 Hình Kiểm tra va chạm đạn zombies 44 Hình Mơ hình Use Case Menu 45 Hình 10 Mơ hình Use Case Game Play 46 Hình 11 Sơ đồ hoạt động 48 Hình 12 Sơ đồ hiển thị menu 49 Hình 13 Sơ đồ trình chơi game 50 Hình 14 Sơ đồ lớp 51 Hình 15 Lớp Zombies_Activity 52 Hình 16 Lớp ZombiesView 53 Hình 17 Lớp LinkList 54 Hình 18 Lớp Animation 55 Hình 19 Lớp Zombie 56 Hình 20 Lớp Plant 57 Hình 21 Lớp Bullet 58 Hình 22 Giao diện menu chương trình 59 Hình 23 Giao diện playing game 59 Công nghệ Android kĩ thuật làm game 2D DANH MỤC CÁC TỪ VIẾT TẮT UML: Unified Modeling Language SDK : Software Development Kit ADT: Android Development Tools AI: Artificial Intelligence SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2 Trang Công nghệ Android kĩ thuật làm game 2D MỞ ĐẦU Lý chọn đề tài Ngày nhu cầu đời sống người ngày nâng cao, có hiểu biết rộng rãi hơn, cơng nghệ tính điện thoại người ý đặt mối qua tâm Thêm vào nhu cầu giải trí người quan tâm, xuất phát từ nhu cầu game di động trở thành cơng cụ thiếu sống người thời đại Từ thưc tế đó, với kiến thức học kết hợp với tảng Android di động em chọn đề tài tốt nghiệp cho là: Nghiên cứu phát triển game 2D điện thoại di động Android Xây dựng ứng dụng game Plants vs Zombies Mục đích nghiên cứu Với phát triển cơng nghệ hiên nay, giới ví giới công nghệ thông tin Thêm vào nhu cầu giải trí người ngày cao, người ta chọn giải pháp hoàn hảo cho xả stress sau ngày làm việc mệt mỏi game mà thị trường game ngày sơi động nóng bỏng, đặc biệt game di động, thiết bị di động trở thành trợ thủ thiếu người Với lý đáng đó, nhóm em nghiên cứu tìm hiểu công nghệ tảng Android kĩ thuật làm game 2D, giúp người đọc thân em có nhìn tổng qt Android lợi ích mà mang lại Đối tượng phạm vi nghiên cứu 3.1 Đối tượng nghiên cứu Android hệ điều hành mở cho tảng di động chọn lựa đắn người tiêu dùng Với đề tài em nghiên cứu công nghệ, tảng ứng dụng Android thiết bị di động kĩ thuật làm game 2D 3.2 Phạm vi nghiên cứu Phạm vi nghiên cứu đề tài kiến thức liên quan đến Android kĩ thuật làm game 2D Trên sở xây dựng thành cơng ứng dụng game 2D “Plants Vs Zombies” Android Đây game lớn, có nhiều level nhiều chức với mức độ khó dần sau chơi Nhưng thời gian có hạn nên em xây dựng level với kĩ thuật xử lý game SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2 Trang Công nghệ Android kĩ thuật làm game 2D xử lý va chạm đối tượng, xử lý bắn đạn, thiết lập chức trồng game cách quản lý đối tượng game Phương pháp nghiên cứu Cơ sở lý thuyết 4.1 Tìm hiểu cơng nghệ tảng di động mở Android Google, quy trình phát triển game 2D, nhằm xây dựng thành công ứng dụng game 2D di động Android Với mục đích đó, u cầu phải nắm kiến thức sau tảng công nghệ Android:  Quy trình phát triển ứng dụng game di động  Các công cụ ngôn ngữ lập trình  Kiến thức kĩ thuật làm game 2D  Thực thi chương trình thiết bị thực (điện thoại di động chạy 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 Eclipse  Thiết kế sơ đồ UML 4.3 Dự kiến kết đạt Nắm rõ lý thuyết thiết kế game 2D nói chung game 2D tảng Android nói riêng Xây dựng ứng dụng game Plants vs Zombies thõa mãn yêu cầu sau đây:  Game phải hiển thị rõ phần chơi với chức năng: thắng, thua, thiết lập chức vật trồng sử dụng game  Đảm bảo đồ họa đẹp tuân thủ theo 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 kĩ thuật làm game 2D 3.2.2.2 Sơ đồ hoạt động Hình 11 Sơ đồ hoạt động SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2 Trang 48 Công nghệ Android kĩ thuật làm game 2D 3.2.2.3 Sơ đồ Hình 12 Sơ đồ hiển thị menu SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2 Trang 49 Công nghệ Android kĩ thuật làm game 2D Hình 13 Sơ đồ trình chơi game SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2 Trang 50 Công nghệ Android kĩ thuật làm game 2D 3.2.2.4 Sơ đồ lớp (class) Hình 14 Sơ đồ lớp SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2 Trang 51 Công nghệ Android kĩ thuật làm game 2D  Lớp Zombies_Activity Hình 15 Lớp Zombies_Activity Đây lớp sở chương trình, quản lý vịng đời hoạt động chương trình từ khởi tạo đến bị hủy bỏ, lớp chương trình sử dụng dẫn xuất từ lớp Các phương thức chính:  OnCreate(): khởi tạo nhân tố tĩnh, đối tượng chương trình  OnDestroy(): dừng hẳn cơng việc chương trình  OnPause(): tạm dừng công việc SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2 Trang 52 Công nghệ Android kĩ thuật làm game 2D  Lớp ZombiesView Hình 16 Lớp ZombiesView Đây lớp chương trình, lớp điều khiển âm thanh, quản lý trạng thái game, kiện điều khiển người chơi để quy định việc vẽ cập nhật: menu, tạo vật phẩm khác, điểm… Lớp chứa hàm chính:  Ondraw(): vẽ đối tượng lên hình  Class(): hàm chứa enum tên đối tượng game  NewClass(): hàm tạo tất đối tượng từ lớp đối tượng xây dựng trước  NewObject(): hàm tạo đối tương mới, hàm phụ thuộc vào hàm NewObject  OntoughtEvent(): nhận kiện tough hình, nhờ có kiện người chơi điều khiển đối tượng suốt trình chơi game SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2 Trang 53 Công nghệ Android kĩ thuật làm game 2D  Lớp Linklist: Hình 17 Lớp LinkList Đây lớp dùng để quản lý đối tượng theo danh sách liên kết Lớp chứa hàm chính:  Addnode(): có tác dụng them nút vào danh sách  Deletenode(): có tác dụng xóa nút khỏi danh sách  Search(): có tác dụng tìm kiếm nút danh sách  Size(): có tác dụng trả số phần tử danh sách  Empty(): có tác dụng kiểm tra danh sách có rỗng hay khơng  Browselist(): có tác dụng duyệt phần tử danh sách SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2 Trang 54 Công nghệ Android kĩ thuật làm game 2D  Lớp Animation: Hình 18 Lớp Animation Đây lớp sinh đối tượng game, lớp đối tượng khác phải thừa kế từ lớp Có phương thức sau:  ThePaint(): hàm tính tốn chiều cao, chiều rộng spite, đếm frame sau vẽ đối tượng lên hình  Ondraw(): hàm abstract, hàm định nghĩa lại lớp lớp Animation, hàm có tác dụng vẽ đối tượng lên hình  Collision(): hàm abstract, hàm định nghĩa lại lớp lớp Animation, có tác dụng phát xử lý va chạm  Update(): hàm abstract, hàm định nghĩa lại lớp lớp Animation, co tác dụng cập nhật lại tọa độ đối tượng SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2 Trang 55 Công nghệ Android kĩ thuật làm game 2D  Lớp Zombie: Hình 19 Lớp Zombie Đây lớp kế thừa từ lớp Animation Lớp dùng để tạo đối tượng Zombies game Lớp gồm phương thức sau:  Ondraw(): có tác dụng vẽ đối tượng zombies lên hình, hàm để gọi ThePaint()  Collision(): phát xử lý va chạm zombies  Update(): cập nhật tọa độ zombies  SupHP(): trừ máu zombies có va chạm với đạn  AddLinklist(): add zombies vào danh sách liên kết để vẽ chúng lên hình  DeleteLinklist(): xóa zombies khỏi danh sách liên kết SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2 Trang 56 Công nghệ Android kĩ thuật làm game 2D  Lớp Plant: Hình 20 Lớp Plant Đây lớp kế thừa từ lớp Animation Lớp dùng để tạo đối tương game Lớp gồm phương thức sau:  Ondraw(): có tác dụng vẽ đối tượng plant lên hình, hàm để gọi ThePaint()  Collision(): phát xử lý va chạm plants zombies  SupHP(): trừ máu có va chạm với zombies  AddLinklist(): add vào danh sách liên kết để vẽ chúng lên hình  DeleteLinklist(): xóa khỏi danh sách liên kết SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2 Trang 57 Công nghệ Android kĩ thuật làm game 2D  Lớp Bulle Hình 21 Lớp Bullet Đây lớp kế thừa từ lớp Animation Lớp dùng để tạo đối tương đạn game Lớp gồm phương thức sau:  Ondraw(): có tác dụng vẽ đối tượng đạn lên hình, hàm để gọi ThePaint()  Collision(): phát xử lý va chạm đạn Zombies  AddLinklist(): add đạn vào danh sách liên kết để vẽ chúng lên hình  DeleteLinklist(): xóa đạn khỏi danh sách liên kết SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2 Trang 58 Công nghệ Android kĩ thuật làm game 2D 3.2 Kết chương trình 3.2.1 Giao diện menu Hình 22 Giao diện menu chương trình 3.2.2 Giao diện chơi game Hình 23 Giao diện playing game SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2 Trang 59 Công nghệ Android kĩ thuật làm game 2D KẾT LUẬN Xây dựng ứng dụng game cho di động lĩnh vực mẻ với sinh viên, sơi động đầy khó khăn thách thức Nhưng niềm đam mê, hứng thú u thích lập trình game cho di động để đưa giới giải trí vào tầm tay Sau thời gian tìm hiểu, nghiên cứu đề tài, em đạt kết sau: Kết đạt 1.1 Về lý thuyết  Qua việc nghiên cứu thực đề tài, em hiểu rõ nắm bắt công nghệ Android, công nghệ dành cho thiết di động phát triển google  Biết cách sử dụng Eclipse plugin để phát triển ứng dụng Android  Biết kĩ thuật làm game 2D, biết cách quản lý đối tượng game  Biết cách giải vấn đề đặt  Học thêm nhiều kiến thức lập trình hướng đối tượng  Biết cách sử dụng photoshop để thiết kế nhân vật 1.2.Về thực nghiệm Dựa vào yêu cầu đề tài, em xây dựng game Plants vs Zombies với chức sau:  Giao diện đẹp mắt, đơn giản, dễ sử dụng  Đã tạo ba loại Zombies, năm loại chơi  Chương trình đáp ứng yêu cầu đề  Chương trình chạy thiết bị di động sử dụng hệ điều hành Android SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2 Trang 60 Công nghệ Android kĩ thuật làm game 2D Tuy nhiên, thời gian có hạn nên chương trình cịn nhiều hạn chế như:  Các chức chương trình cịn thiếu  Chưa tận dụng hết mạnh công nghệ Andoid  Chưa kiểm thử thiết bị di động khác sử dụng hệ điều hành Andoid Hướng phát triển đề tài  Tiếp tục hồn thiện để chương trình hoạt động tốt  Cải thiện AI (trí tuệ nhân tạo) game để chơi tốt hiệu  Tiến hành làm nhiều level hơn, có thời gian vào ban ngày ban đêm, với Zombies nhiều hơn, cấp độ Zombies mạnh  Hồn thiện tốt chức chương trình SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2 Trang 61 TÀI LIỆU THAM KHẢO [1] David Michael ()Tile/Map-Based Game Techniques: Handling Terrain Transitions [2] TANSTAAFL ()Putting People, Creatures, Items, etc on Iso/Hex Maps, and still having it come out correctly [3] http://android.com [4] http://www.javacodegeeks.com [5] http://www.edu4java.com [6] http://www.droidnova.com [7] http://wikipedia.org [8] http://java.sun.com/docs/books/totorial [9] http://up.4share.vn ... Lớp 08CNTT2 Trang 49 Công nghệ Android kĩ thuật làm game 2D Hình 13 Sơ đồ trình chơi game SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2 Trang 50 Công nghệ Android kĩ thuật làm game 2D 3.2.2.4 Sơ đồ lớp... 08CNTT2 Trang 47 Công nghệ Android kĩ thuật làm game 2D 3.2.2.2 Sơ đồ hoạt động Hình 11 Sơ đồ hoạt động SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2 Trang 48 Công nghệ Android kĩ thuật làm game 2D 3.2.2.3... Trang 21 Công nghệ Android kĩ thuật làm game 2D Hình Hình biểu diễn qua trình cài đặt tự động plugin SVTH: Nguyễn Thị Mỹ Lệ – Lớp 08CNTT2 Trang 22 Công nghệ Android kĩ thuật làm game 2D Chương

Ngày đăng: 08/05/2021, 20:57

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan