Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 71 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
71
Dung lượng
4,19 MB
Nội dung
LỜI CAM ĐOAN Em xin cam đoan đồ án tốt nghiệp : “Xây dựng trò chơi SpiderHunter cho điện thoại di động nền hệ điều hành Android ” công trình nghiên cứu thân em Các nội dung nghiên cứu kết đề tài hoàn toàn trung thực chưa công bố công trình trước Các module thông số chương trình demo kết trình thực đồ án em Ngoài em sử dụng số kiến thức, thông tin tác giả khác thể phần tài liệu tham khảo Nếu phát có bất gian lận em xin chịu trách nhiệm trước hội đồng, kết đồ án Thái Nguyên, tháng 06 năm 2012 Sinh viên thực đồ án Nguyễn Tuấn Ninh LỜI CẢM ƠN Trước tiên em xin dành lời cảm ơn chân thành sâu sắc tới thầy giáo, cô giáo trường Đại học Công Nghệ Thông Tin Và Truyền Thông thầy cô giáo khoa Công Nghệ Thông Tin, môn Mạng Truyền Thông nói riêng tận tình giảng dạy truyền đạt cho em kiến thức, kinh nghiệm quí báu suốt thời gian vừa qua Đặc biệt em xin gửi lời cảm ơn tới cô giáo ThS.Đinh Thị Thanh Uyên, cô tận tình giúp đỡ, trực tiếp bảo, hướng dẫn em suốt trình làm đồ án tốt nghiệp Trong thời gian làm việc với cô, em không ngừng tiếp thu thêm nhiều kiến thức bổ ích mà học tập tinh thần làm việc, thái độ nghiên cứu nghiêm túc, hiệu Đây điều cần thiết cho em trình học tập công tác sau Ngoài ra, trình thực đồ án em nhận nhiều động viên giúp đỡ từ phía gia đình, người thân tập thể bạn lớp Do kết tính khả dụng luận văn thực tế lời cảm ơn sâu sắc em gửi tới người nguồn động lực để em tự tin vào kiến thức thu sau tốt nghiệp Thái Nguyên, tháng 06 năm 2012 Sinh viên thực đồ án Nguyễn Tuấn Ninh MỤC LỤC DANH MỤC HÌNH ẢNH TỔNG QUAN VỀ ĐỀ TÀI Lý chọn đề tài Trong năm gần với phát triển vượt trội khoa học công nghệ, đặc biệt công nghệ thông tin truyền thông Mạng điện thoại di động xuất Việt Nam với số lượng thuê bao nhà cung cấp dịch vụ di động Việt Nam ngày tăng Cùng với phát triển số lượng thuê bao di động đa dạng hoá dịch vụ hướng đến thiết bị di động Điện thoại di động không công cụ dành cho người làm mà sử dụng phổ biến tầng lớp đông đảo từ trẻ đến già Nhiều người coi điện thoại di động vật thiếu sông hàng ngày Ngày điện thoại di động không mang chức gọi điện hay nhắn tin thông thường mà thiết bị giải trí, tra cứu thông tin tiện lợi với nhiều ứng dụng hay có ích chơi game, chụp ảnh, xem phim, Do đó, xây dựng ứng dụng cho điện thoại di động yêu cầu tất yếu xu đem lại lợi nhuận,doanh thu cao cho nhà mạng, người lập trình Các nhà sản xuất thiết bị di động lớn chọn Android làm hệ điều hành chủ đạo với số lượng người dùng thiết bị ngày tăng dẫn đến nhu cầu lớn phần mềm Android có tính mở cao, hỗ trợ nhiều từ cộng đồng Hệ điều hành Android bật với khả hoạt động ổn định linh hoạt, chạy nhiều ứng dụng lúc linh hoạt, mượt mà Android hỗ trợ cài đặt không giới hạn số lượng phần mềm cài đặt Lập trình Game Android hướng mới, phải vận dụng nhiều kiến thức CNTT Từ thúc đẩy khả tự nghiên cứu vận dụng kiến thức học áp dụng vào thực tế Hiện nay, Android lựa chọn hàng đầu cho nhà phát triển ứng dụng với khoản đầu tư lớn, với xu này, số lượng ứng dụng game Android tăng lên đáng kể tương lai.Luận văn thực với mục đích tìm hiểu cách phát triển ứng dụng hệ điều hành Android Áp dụng xây dựng game Spider Hunter Em xin cảm ơn thầy cô môn Mạng & Truyền Thông, Trường Đại Học Công nghệ thông tin, đặc biệt cô Đinh Thị Thanh Uyên, tận tình hướng dẫn, góp ý để em hoàn thiện luận văn Em mong nhận ý kiến quý báu thầy cô để luận văn hoàn thiện Mục tiêu nhiệm vụ nghiên cứu Mục tiêu nghiên cứu: Xây dựng Game “SPIDER HUNTER” hệ điều hành Android Nhiệm vụ nghiên cứu: - Thu thâp,nghiên cứu tìm hiểu cách lập trình tảng Android Nghiên cứu sử dụng ngôn ngữ Java thư viện Android để lập - trình Game Nghiên cứu thuật toán sử dụng Game Phân tích thiết kế Game Viết đề cương, báo cáo, cài đặt chương trình Phạm vi, đối tượng đề lài - Đối tượng: Game “SPIDER HUNTER” hệ điều hành Android Phạm vi: Một số API,cách xử lý đồ họa xử lý âm thanh, thuật toán Phương pháp nghiên cứu - Đọc tài liệu lập trình Game Android - Tham gia thảo luận, hỏi đáp diễn đàn chuyên môn, tham khảo code ví dụ, hướng dẫn mạng Internet thuật toán, cách xử lý vấn đề gặp phải Tham gia thảo luận sinh viên có chung đề tài - Thực lập trình game, rút kinh nghiệm từ thực tế Dự kiến kết Chương trình demo chạy thiết bị thật Ý nghĩa khoa học thực tiễn Sản phẩm trò chơi cho điện thoại chạy hệ điều hành Android Có thể chia sẻ upload lên chợ ứng dụng Android Market Nội dung đồ án CHƯƠNG I: Cơ sở lý thuyết CHƯƠNG II: Phân tích, thiết kế hệ thống CHƯƠNG III: Chương trình game Spider Hunter Kết luận hướng phát triển đề tài CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Tổng quan hệ điều hành Android Game 1.1.1 Khái niệm hệ điều hành Anroid Android hệ điều hành cho thiết bị cầm tay dựa lõi Linux công ty Android Inc (California, Mỹ) thiết kế Công ty sau Google mua lại vào năm 2005 bắt đầu xây dựng Android Platform Các thành viên chủ chốt Android Inc gồm có: Andy Rubin, Rich Miner, Nick Sears, and Chris White Hình 1-1 Android timeline Phiên SDK lần phát hành vào tháng 11 năm 2007, hãng T-Mobile công bố điện thoại Android T-Mobile G1, smartphone dựa tảng Android Một vài ngày sau đó, Google lại tiếp tục công bố mắt phiên Android SDK release Candidate 1.0 Trong tháng 10 năm 2008, Google cấp giấy phép mã nguồn mở cho Android Platform Sự mắt Android vào ngày tháng 11 năm 2007 gắn với thành lập liên minh thiết bị cầm tay mã nguồn mở, bao gồm 78 công ty phần cứng, phần mềm viễn thông nhằm mục đính tạo nên chuẩn mở cho điện thoại di động tương lai Từ tháng 10 năm 2008, hệ điều hành Android thức trở thành phần mềm mã nguồn mở Điều cho phép hãng điện thoại đem mã nguồn tùy chỉnh, thiết kế lại cho phù hợp với mẫu mã điện thoại họ điều quan trọng hệ điều hành mở hoàn toàn miễn phí, trả tiền nên giúp họ tiết kiệm lớn chi phí phát triển hệ điều hành 1.1.2 Kiến trúc Android Mô hình sau thể cách tổng quát thành phần hệ điều hành Android Mỗi phần đặc tả cách chi tiết Hình 1-2 Kiến trúc Android Hệ điều hành android có tầng từ lên tầng hạt nhân Linux tầng Libraries & Android runtime , tầng Application Framework tầng Application 1.1.2.1 Tầng Application Đây lớp ứng dụng giao tiếp với người dùng, bao gồm ứng dụng Các ứng dụng bản, cài đặt liền với hệ điều hành gọi điện(phone), quản lý danh bạ(Contacts), duyệt web (Browser),nhắn tin(SMS),lịch làm việc (Calendar), đọc e-mail (Email-Client), đồ(Map), quay phim chụpảnh(camera) Các ứng dụng cài thêm phần mềm chứng khoán (Stock), trò chơi, từ điển… Các ứng dụng viết có đặc tính sau: - Viết Java, phần mở rộng apk - Khi ứng dụng chạy, có phiên Virtual Machine dựng lên để phục vụ cho Nó Active Program : Chương trình có giao diện với người sử dụng background : chương trình chạy dịch vụ - Android hệ điều hành đa nhiệm, điều có nghĩa thời điểm,có thể có nhiều chương trình chạy lúc - Android hệ điều hành có tính mở, khác với nhiều hệ điều hành di động 1.1.2.2 Tầng Application Framework Bằng cách cung cấp tảng phát triển mở, Android cung cấp cho nhà phát triển khả xây dựng ứng dụng phong phú sáng tạo Nhà phát triển tự tận dụng thiết bị phần cứng, thông tin địa điểmtruy cập, dịch vụ chạy nền, thiết lập hệ thống báo động Hình 1-3 Kiến trúc tầng Application Framework Tầng tất ứng dụng dịch vụ hệ thống, bao gồm: • Một tập hợp nhiều View có khả kế thừa lẫn dùng để thiết kế phần giao diện ứng dụng như: gridview, tableview,… • Một “Content Provider” cho phép ứng dụng truy xuất liệu từ ứng dụng khác (chẳng hạn Contacts) chia sẻ liệu ứng dụng • Một “Resource Manager” cung cấp truy xuất tới tài nguyên mã nguồn, chẳng hạn như: localized strings, graphics, • Một “Notifycation Manager” cho phép tất ứng dụng hiển thị custom alerts status bar • Activity Maanager dùng để quản lý chu trình sống ứng dụng điều hướng activity 1.1.2.3 Tầng Android Runtime and Libraries Tầng gồm phần Libraries Android Runtime: Hình 1-4 Kiến trúc tầng Android Runtime and Libraries Phần Library Android bao gồm tập hợp thư viên C/C++ sử dụng nhiều thành phần khác hệ thống Android Một số thư viện liệt kê đây: • • Thư viện hệ thống (System C library)(Libc) : Thư viện dựa chuẩn C Thư viện Media (Media Libraries) : Có nhiều codec để hỗ trợ việc phát ghi loại định dạng âm thanh, hình ảnh, video thông dụng • Thư viện web (LibWebCore) : Đây thành phần để xem nội dung web, sử dụng để xây dựng phần mềm duyệt web (Android Browse) để ứng dụng khác nhúng vào Nó mạnh, hỗ trợ nhiều công nghệ mạnh mẽ HTML5, JavaScript, CSS, DOM, • • • • AJAX Surface Manage: Quản lý hiển thị 2D 3D SGL công nghệ 2D SQLite : Quản lý database ứng dụng Free Type : Dùng cho hiển thị ảnh,font 10 - - Class Insect mô tả hoạt động bọ hiển thị, di chuyển… Class Silk dùng để mô tả sợi tơ bao gồm hiển thị, biến mất… 57 Phần âm nhạc game thể qua lớp SoundGame: âm nhạc - phần quan trọng, thiếu game Bộ thư viện Andengine hỗ trợ đầy đủ phần âm nhạc, sử dụng lớp SoundGame: public class SoundGame { private Music msBackGroud; private Music msInsectFly; private Music msSpiderMove; public SoundGame(Context inContext) { MusicFactory.setAssetBasePath("mfx/"); try { this.msBackGroud = MusicFactory createMusicFromAsset(GameData.myEngine.getMusicManager(),inContext, "night.mp3"); this.msBackGroud.setLooping(true); } catch (final IOException e) { Debug.e(e); } } public void playBackgroud() { msBackGroud.play(); } public void pauseBackgroud() { msBackGroud.pause(); } } 58 CHƯƠNG XÂY DỰNG TRÒ CHƠI SPIDER HUNTER 3.1 Môi trường thực ứng dụng - Hệ điều hành window - IDE : Eclipse & ADT plugin - Android SDK, Android platform 2.3.3 3.2 Cài đặt Android SDK & Eclipse 3.2.1 Cài đặt Android SDK Android SDK thực chất tập hợp công cụ thư viện để phát triển ứng dụng tảng hệ điều hành Android Để cài đặt SDK ta thực bước sau: B1: Vào trang http://developer.android.com/sdk/index.html để tải Android SDK Starter Tùy thuộc vào hệ điều hành mà bạn chọn Mac, Linux hay Window B2: Giải nén file zip bạn vừa tải Chạy SDK Setup.exe ->Cửa sổ Android SDK and AVD manager -> Chọn Setting, đánh dấu vào ô cần down B3: Đánh dấu Packages bạn muốn tải.Ta chọn tất pagket, nhiên để tối ưu ta nên chọn gói cần thiết để giảm thiểu thời gian nhớ 59 Các bạn tải hết thích, muốn tối ưu đánh dấu (lưu ý USB drivers dành cho người sử dụng Windows muốn phát triển ứng dụng test điện thoại thật) Tiếp theo -> Install Selected -> Cửa sổ Install -> Ngồi chờ (>_ Install new softwares.Chọn Add, gõ vào ô Name tên bạn muốn Location gõ vào địa để tải ADT: http://dl-ssl.goole.com/android/eclipse/ Phần name đặt tên tùy ý phần Location bắt buộc phải : http://dl-ssl.goole.com/android/eclipse/ Bấm Ok để tiếp tục cài đặt 61 B4: Check vào Developer Tools sau chọn Next để tiếp tục Tiếp tục thưc Next,Next,Accept,Next,… Finish B5: Eclipse -> Windows -> Preferences -> Android Nhấn nút Browse chỉnh đường dẫn tới thư mục Android -> Apply -> OK 62 SDK tải lúc trước 3.3 Giao diện trò chơi game Spider Hunter 3.3.1 Giao diện Menu Giao diện menu game danh sách cho phép người dùng lựa chọn chức : chơi game, xem thông tin tác giả,cách chơi, xem High Score game thoát game Giao diện dễ sử dụng người chơi dễ dàng lựa chọn chức cần chơi game xem thông tin,xem điểm người chơi cao Hình 3-1 Giao diện Menu game 63 Trước chơi bạn chọn menu Hight Score để xem thời gian kỉ lục mà người chơi trước đạt được.Khi bạn vào chơi bạn phải chơi số điểm cao mốc thời gian Hình 3-2 Giao diện xem điểm kỉ lục Bạn chọn menu About để xem thông tin tác giả,tron mục About gồm có cách chơi game cho chưa biết cách chơi 64 Hình 3-3 Giai diện xem thông tin game 3.3.2 Giao diện Level game Là giao diện cấp độ game, game có level, với level giao diện background thay đổi nhằm giúp người chơi dễ phân biệt với level Độ khó level tăng dần theo level.Người chơi buộc phải chơi xong level từ cấp độ dễ tiếp đến khó được.Người chiến thắng chinh phục hết level game Thời gian người chơi hết tất level lưu lại vào sở liệu thời gian sớm so với người chơi trước Giao diện game Level 65 Giao diện ban đầu bắt đầu vào level 1.Bạn phải cắt sợ tơ nhện để nhện không ăn bướm.Khi nhện không đến ăn bướm,con bướm bay Bạn chiến thằng level Hình 3-4 Giao diện game Level Nếu bạn thua giao diện hiển thị chức Replay để chơi lại level 1: 66 Hình 3-5 Giao diện game Level thua Trong level có đồng hồ tính thời gian thực mà bạn chơi Nếu bạn chiến thắng giao diện hiển thị thêm chức “ Next Level” Hình 3-6 Giao diện game Level bạn chiến thắng Giao diện game Level Các chức hiển thị cách chơi Level tương tự level level2 mức độ khó level1 số lượng côn trùng nhiều nên có nhiều đường cho nhện 67 Hình 3-7 Giao diện game level Giao diện game Level Level3 đòi hỏi tư người chơi phải tỉnh táo cẩn thận cần người chơi nhầm nước người chơi thua phải chơi lại Hình 3-8 Giao diện game level Giao diện game Level Sang tới level cuối đòi hỏi người chơi phải tinh ý level3 level4 khó so với level đầu 68 Hình 3-9 Giao diện game level Giao diện bạn chơi hoành thành level4 Khi bạn chơi xong hộp thoại thông báo bạn chiến thắng sô thời gian bạn hoàn thành game Nếu thời gian bạn nhỏ thời gian kỉ lục chơi trước thời gian bạn chơi thay thời gian kỉ lúc trước tạm thời bạn người có thời gian kỉ lục sớm Hình 3-10 Giao diện chơi xong game KẾT LUẬN 69 Trong thời gian thực tập em tìm hiểu kiến thức hệ điều hành Android , ngôn ngữ lập trình Java cách xây dựng ứng dụng game điện thoại di động Qua dần áp dụng công nghệ vào sống Dưới số kiến thức đạt được: - Hiểu chi tiết hệ điều hành Android - Nắm kỹ thuật xử lý âm thanh, hình ảnh, lưu trữ điện thoại di động - Ứng dụng kết nghiên cứu xây dựng Game đơn giản khai thác điểm mạnh âm thanh, hình ảnh, đồ họa… Game SpiderHunter áp dụng kiến thức lý thuyết mà em trình bày Chương trình ứng dụng kỹ thuật xây dựng giao diện, kỹ thuật đồ họa, chế lưu trữ liệu… Tuy nhiên làm quen với công nghệ kiến thức có hạn nên chương trình dừng mức độ mô phỏng, chưa có tính thực tiễn mức độ khó chưa cao thời gian có hạn Nếu có điều kiện em tin làm cho ứng dụng trở lên hoàn thiện, có đầy đủ tính Game SpiderHunter giống PC : có âm hình ảnh tốt hơn, giao diện cách chơi phong phú tạo lên cảm giác thích thú người chơi Cuối em xin chân thành cảm ơn cô giáo ,Th.S Đinh Thị Thanh Uyên giúp đỡ em hoàn thành đề tài Sinh viên Nguyễn Tuấn Ninh 70 TÀI LIỆU THAM KHẢO [1] Learning Android Game Programming2012 - Rick Roger [2] http://developer.android.com [3] http://www.andengine.org [4] http://www edu4java.com [5] http://www.code.google.com/p/andengineexamples/ [6] http://www.andengineguides.wordpress.com/ [7] http://vietandroid.com 71 ... 1.1.6.7 EditText Trong Android đối tượng EditText sử dụng TextField TextB ox Các thuộc tính cần ý sử dụng EditText là: + android: inputType