Sử dụng unity xây dựng game 1979

85 391 2
Sử dụng unity xây dựng game 1979

Đ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

LỜI CẢM ƠN Em xin chân thành cảm Thầy Nguyễn Văn Việt, người tận tình hướng dẫn, bảo em suốt thời gian thực đề tài Em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, trường Công nghệ thông tin truyền thông Thái Nguyên tạo điều kiện tốt cho em thực đề tài Em xin gửi lời cảm ơn sâu sắc đến quý Thầy Cô Khoa tận tình giảng dạy, trang bị cho chúng em kiến thức quí báu năm học vừa qua Em xin chân thành cảm ơn Ban lãnh đạo nhà trường toàn thể thầy cô giáo nhà trường tạo điều kiện thuận lợi, cung cấp sở vật chất, trang thiết bị cần thiết trình học tập em trường Chúc quý thầy cô mạnh khỏe, tiếp tục đạt nhiều thắng lợi nghiên cứu khoa học nghiệp trồng người Mặc dù em cố gắng hoàn thành đồ án phạm vi khả cho phép, chắn không tránh khỏi thiếu sót, kính mong cảm thông tận tình bảo quý Thầy Cô bạn Em xin chân thành cảm ơn ! LỜI CAM ĐOAN Em xin cam đoan toàn nội dung đồ án tự em đọc nghiên cứu tài liệu, khảo sát trang tin tức Các kết nghiên cứu đồ án em tự tìm hiểu, phân tích cách trung thực, khách quan phù hợp với thực tiễn Việt Nam Từ viết sở lý thuyết xây dựng game mobile Unity Thái Nguyên, ngày 01 tháng 06 năm 2016 Người cam đoan Vũ Văn Thiện MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC DANH MỤC HÌNH ẢNH LỜI MỞ ĐẦU CHƯƠNG I : CƠ SỞ LÝ THUYẾT 1.1 Game thiết bị di động 1.2 Mục tiêu đề tài 1.3 Tổng Quan Về Unity10 1.3.1 Unity gì? 10 1.3.2 Sơ lược lịch sử hình thành phát triển Unity 11 1.3.3 Các khái niệm Unity 13 1.3.4 Sơ nét giao diện Unity 17 1.3.5 Tổng quan kiến trúc engine Unity Android 19 1.4 Tổng quan ngôn ngữ C# 23 1.4.1 Biến, hằng, toán tử 24 1.4.2 Kiểu lệu - Cấu trúc điều khiển - Cấu trúc lặp CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Khảo sát hệ thống 31 2.2 Mục tiêu hệ thống 31 2.2.1 Ý tưởng thực 31 2.2.2 Mục tiêu hệ thống 31 2.3 Phân tích chương trình 32 2.3.1 Sơ đồ hoạt động game 32 2.3.2 Danh sách Actor 32 2.3.3 Biểu đồ 33 31 26 CHƯƠNG 3: DEMO CHƯƠNG TRÌNH 41 3.1 Giới Thiệu Game 41 3.1.1 Sơ lược game 1979 41 3.1.2 Giao diện vào game 42 3.1.3 Giao diện Menu 43 3.1.4 Giao diện hiển thị hướng dẫn 43 3.1.5 Giao diện thị thông tin 3.1.6 Giao diện chơi game 44 44 3.1.7 Giao diện chiến thắng 45 3.1.8 Giao diện tạm dừng game 45 3.1.9 Giao diện hiển thị điểm cao 46 3.2 Một số xử lý game 46 3.2.1 Animation Animator 46 3.2.2 Xin quân đội 48 3.2.3 Sử dụng Canvast phát va chạm 48 3.2.4 Sử dụng Trigger phát va chạm thêm đối tượng 49 3.2.5 Di chuyển hủy đối tượng 50 3.2.6 Quản lý tài nguyên quân địch tự động thêm lính 50 3.2.7 Sử dụng PlayerPrefs lưu điểm cao game 51 3.2.8 Bắt kiện touch vào button hình điện thoại 3.2.9 Sử dụng TimeScale tạo tốc độ chơi game 3.2.10 Sử dụng Particle làm hiệu ứng 3.2.11 Sử dụng Ienumerator 55 3.2.12 Load Scene 56 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN57 TÀI LIỆU THAM KHẢO 58 55 54 52 DANH MỤC HÌNH ẢNH Hình 1.1 Một số hình ảnh game Mobile Hình 1.2 Hình minh họa đa tảng 10 Hình 1.3 Asset Unity13 Hình 1.4 Các scene Unity 14 Hình 1.5 Một số Game Object 14 Hình 1.6 Các thành phần đối tượng “Cột Mốc” 15 Hình 1.7 Cách tạo file script 16 Hình 1.8 Lập trình Unity C# MonoBehaviour Hình 1.9 Một file script gắn vào đối tượng 16 Hình 1.10 Một số Game Object chứa Prefab 17 Hình 1.11 Giao diện Editor Unity 16 17 Hình 1.12 Chọn đối tượng Scene Hierrarchy 18 Hình 1.13 Cửa sổ Inspector hiển thị thông tin đối tượng 19 Hình 1.14 Tổng quan kiến trúc Unity 20 Hình 1.15 Chu kỳ sống thành phần script Hình 1.16 Thứ tự ưu tiên Unity 21 22 HÌnh 1.17 Kiểu liệu dựng sẵn 26 Hình 2.1 Sơ đồ hoạt động game 32 Hình 2.2 Biều đồ Use Case game 33 Hình 2.3 Biều đồ trình tự UC “Bắt đầu “ 34 Hình 2.4 Biểu đồ hoạt động UC “Bắt đầu chơi” 34 Hình 2.5 Biều đồ trình tự UC “Chọn chơi” 35 Hình 2.6 Biểu đồ hoạt động UC “Chọn chơi” 35 Hình 2.7 Biều đồ trình tự UC “Xem thông tin ”36 Hình 2.8 Biểu đồ hoạt động UC “Xem thông tin” 36 Hình 2.9 Biều đồ trình tự UC “Xem hướng dẫn ” 37 Hình 2.10 Biểu đồ hoạt động UC “Xem hướng dẫn” 37 Hình 2.11 Biều đồ trình tự UC “Xem điểm cao ” 38 Hình 2.12 Biểu đồ hoạt động UC “Xem điểm cao” 38 Hình 2.13 Biểu đồ trình tự UC “Thoát Game” 39 Hình 2.14 Biểu đồ hoạt động UC “Thoát game”39 Hình 2.15 Biểu đồ lớp game 40 Hình 3.1 Game kinh điển Age of War 41 Hình 3.2 Cách bố trí đội hình game 42 Hình 3.3 Giao diện bắt đầu vào game 42 Hình 3.4 Giao diện menu 43 Hình 3.5 Hướng dẫn chơi game 43 Hình 3.6 Giao diện thông tin nhà phát triển Hình 3.7 Giao diện chơi game 44 44 Hình 3.8 Giao diện hoàn thành nhiệm vụ Hình 3.9 Giao diện tạm dừng game 45 45 Hình 3.10 Giao diện hiển thị điểm cao 46 Hình 3.11 Animation game 47 Hình 3.12 Animator game 47 Hình 3.13 Raycast unity 49 Hình 3.14 Vùng làm việc Box Collider Hình 3.15 Sử dụng Onclick với button 49 52 Hình 3.16 Sử dụng OnPointerDown với button 53 Hình 3.17 Sử dụng TimeScale 54 Hình 3.18 Các thuộc tính làm việc với Particle 55 Hình 3.19 Thêm Scene để sử dụng 56 LỜI MỞ ĐẦU Game nhu cầu giải trí người, mang ý nghĩa giúp thư giãn, giải trí làm việc học tập căng thẳng.Làng game giới phát triển hùng mạnh đa dạng với nhiều thể loại như: thể thao, hành động, chiến thuật Trong xu hướng phát triển ngành công nghệ thông tin, làm việc giải trí PC dần thay thế, chuyển đổi lên thiết bị di động tính tất yếu ứng dụng di động Tuy nhiên thời điểm tại, lĩnh vực để phát triển ứng dụng di động chưa nhiều Trong nhu cầu sử dụng thiết bị di động để giải trí, chơi Game ngày tăng Qua điều nói trên, khẳng định rằng, game cho Mobile xu công nghệ thiếu tương lai Bắt nguồn với ý tưởng em thực đề tài “Sử dụng Unity xây dựng Game 1979” với nội dung trình bày sau Chương 1: Cơ sở lý thuyết Chương 2: Phân tích thiết kế hệ thống Chương : Chương trình demo Đánh giá kết luận game CHƯƠNG I : CƠ SỞ LÝ THUYẾT 1.1 Game thiết bị di động Thị trường game sôi từ nhiều năm Trong thời gian gần đây, với hỗ trợ công nghệ tiên tiến, giới game thật diễn tả đầy đủ tồn sống thật Việc ứng dụng cấu hình phần cứng dựng sẵn xu hướng chung phát triển game mobile Từ ứng dụng cảm ứng đa điểm hệ cảm biến hành vi giúp xoay ngang, xoay dọc để điều khiển nhân vật game trở thành mặc định tựa game cao cấp Năm 2015 kết thúc đánh dấu nấc thang vượt bậc tựa game di động bùng nổ tảng tiên tiến Và chắn, năm 2016 hứa hẹn thời khắc cao trào cạnh tranh, phát triển người dùng chứng kiến thời kỳ sôi động chưa thấy tựa game, cỗ máy di động đỉnh cao Một vài game tiêu biểu Mobile : Game Clash of Clans fdGame Plants v Game Angry Birds Game Flappy Bird Hình 0.1 Một số hình ảnh game Mobile Hiện nay, có nhiều engine hỗ trợ làm game cho mobile Do cần tìm game engine đủ tốt để xây dựng game Tiêu chí khảo sát em engine phải nhanh nhiều mô hình lúc hình, làm mô hình nhân vật chuyển động, hỗ trợ va chạm vật thể, hỗ trợ hiệu ứng tốt Sau số game engine ưa chuộng:  jPCT-AE: jPCT-AE port từ engine jPCT sang cho Android Đây engine 3D miễn phí, nhỏ gọn, tính tương đối  libGDX: thư viện viết chủ yếu NDK (công cụ cho phép gọi thực thi code C/C++ từ Java) nên cho tốc độ xử lý nhanh Một ưu điểm engine cho phép viết game test hoàn toàn desktop Tuy nhiên, lidGDX phát triển lúc đầu chủ yếu dành cho 2D nên thời điểm thư viện chưa hỗ trợ kiểm tra va chạm vật thể 3D  Shiva3D: engine thương mại mạnh Shiva dùng ngôn ngữ Lua để viết script game, ngôn ngữ người biết đến  Unity: game engine phổ biến nay, có khả phát triển trò chơi đa nền, trình biên tập chạy Windows Mac OS, xuất game cho Windows, Mac, iOS, Android, Wii, Web, Xbox 10 newposition.x = newposition.x - 4.5f; if((kl==1)&(solinhbo0)&(lua>=15)) { newposition.y = newposition.y -0.7f ; Instantiate(LVBo,newposition,Quaternion.identity); solinhbo++; sodan ; lua = lua-15; } 3.2.3 Sử dụng Canvast phát va chạm Trong game xây dựng kiểu lính khác có tầm bắn hiệu khác , nên dùng triger để phát va chạm Giải pháp Raycast giải tốt vấn đề , chúng đươc hiển thị dạng đường thẳng không xuất hình chơi game void RayCasting() { Vector3 NewEndRaycast = EndRaycast.position; NewEndRaycast.x = NewEndRaycast.x + rankX; //EndRaycast.position.x = EndRaycast.position.x + 2f; Debug.DrawLine (StartRaycast.position,NewEndRaycast,Color.blue); stmove = (StartRaycast.position,NewEndRaycast, !Physics2D.Linecast ("lquandich")); } 71 0)) { Debug.Log(" BO 180"); Destroy(other.gameObject); heart = heart - 180; Instantiate(efectdie,transform.position,transform.rotation); } } Để sử dụng trigger hai đối tượng cần thêm Box Collider để xác định vùng va chạm, hai đối tượng phải tích vào istriger 72 Hình 3.14 Vùng làm việc Box Collider 3.2.5 Di chuyển hủy đối tượng Có thể áp dụng với tất Game Object lính, đạn, hiệu ứng di chuyển theo hướng lên, xuống, trái, phải float speed=5f; void Start () { } void Update () { // Di chuyển đối tượng sang phải this.transform.Translate (Vector3.right*speed*Time.deltaTime); // Phá hủy đối tượng đạt tới điểm xa định if(transform.position.x>6.5f) { Destroy(this.gameObject); } } 3.2.6 Quản lý tài nguyên quân địch tự động thêm lính Để tạo cảm giác chuyên nghiệp game, xây dựng quân địch 73 theo đội hình thay lẻ tẻ dễ tiêu diệt Để làm điều cần xây dựng hàm đội hình có thời gian gọi cho phép quy định theo level game public void QlLuongThuc() { lua += 0.2f*(sodan*Time.deltaTime); } public void QLSoDan() { sodan = maxdan - (solinhbo + solinhcung + solinhkhien + solinhky + solinhtuong + solinhphao); if(sodan

Ngày đăng: 08/12/2016, 23:55

Từ khóa liên quan

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

Tài liệu liên quan