1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf

41 2 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 41
Dung lượng 5,1 MB

Cấu trúc

  • CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI (10)
    • 1.1 Giới thiệu về trò chơi và mục tiêu dự án (10)
    • 1.2 Đặt vấn đề và lý do chọn đề tài (10)
  • CHƯƠNG 2. KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU (11)
    • 2.1 Khảo sát hiện trạng (11)
      • 2.1.1 Mục tiêu khảo sát (11)
      • 2.1.2 Phương Pháp Khảo Sát (11)
      • 2.1.3 Kết quả khảo sát (11)
    • 2.2 Tổng quan chức năng (12)
      • 2.2.1 Biểu đồ use case tổng quát (12)
      • 2.2.2 Biểu đồ use case chức năng tạm dừng game (12)
      • 2.2.3 Biểu đồ use case chức năng cài đặt game (13)
      • 2.2.4 Biểu đồ use case chức năng Vào màn chơi - chơi game (13)
    • 2.3 Đặc tả chức năng (0)
      • 2.3.1 Đặc tả use case vào màn chơi - chơi game (0)
      • 2.3.2 Đặc tả use case tạm dừng game (0)
      • 2.3.3 Đặc tả use case cài đặt game (0)
    • 2.4 Yêu cầu phi chức năng (0)
  • CHƯƠNG 3. CÔNG NGHỆ SỬ DỤNG (14)
    • 3.1 Giới thiệu về công cụ làm game Unity (0)
      • 3.1.1 Tổng quan về Unity (0)
      • 3.1.2 Ưu điểm (0)
      • 3.1.3 Các thành phần và khái niệm cơ bản (0)
      • 3.1.4 Đặc điểm và tính năng (0)
      • 3.1.5 Giao diện cơ bản của Unity (0)
    • 3.2 Giới thiệu về ngôn ngữ C Sharp (15)
    • 3.3 Giới thiệu Visual Studio (16)
    • 3.4 Giới thiệu các công cụ quản lý mã nguồn (17)
      • 3.4.1 Git lap (17)
      • 3.4.2 Source Tree (17)
  • CHƯƠNG 4. THIẾT KẾ, TRIỂN KHAI HỆ THỐNG (19)
    • 4.1 Thiết kế trò chơi (19)
      • 4.1.1 Mô tả cách trò chơi hoạt động, quy tắc và cơ chế chơi (19)
      • 4.1.2 Phác thảo giao diện người dùng (20)
    • 4.2 Phát triển trò chơi (21)
      • 4.2.1 Thiết kế nhân vật (21)
      • 4.2.2 Thiết kế môi trường (21)
      • 4.2.3 Thiết kế các lớp (22)
      • 4.2.4 Thiết kế màn chơi (22)
      • 4.2.5 Cơ sở dữ liệu (23)
      • 4.2.6 Object (23)
      • 4.2.7 Âm thanh (24)
    • 4.3 Kết quả đạt được (24)
    • 4.4 Kiểm thử (35)
    • 4.5 Triển khai (37)
  • CHƯƠNG 5. ĐÁNH GIÁ, KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (39)
    • 5.1 Kết quả (39)
    • 5.2 Đánh giá (39)
    • 5.3 Hướng phát triển (40)

Nội dung

GIỚI THIỆU ĐỀ TÀI

Giới thiệu về trò chơi và mục tiêu dự án

Trò chơi là một phần không thể thiếu trong cuộc sống hiện đại, mang lại niềm vui và thư giãn cho hàng triệu người trên khắp thế giới Dự án "Red Ball" ra đời với mục tiêu đem đến cho người chơi một trải nghiệm độc đáo và thú vị qua lối chơi đơn giản nhưng gây nghiện.

Mục tiêu chính của dự án "Red Ball" là tạo ra một trò chơi giải trí hấp dẫn, thách thức và dễ chơi Tôi mong muốn mang đến cho người chơi cảm giác hồi hộp khi điều khiển quả bóng đỏ đi qua những thử thách đa dạng.

Đặt vấn đề và lý do chọn đề tài

Trong thế giới game đa dạng ngày nay, việc tạo ra một trò chơi độc đáo và nổi bật là một thách thức lớn "Red Ball" được lựa chọn với ý định đánh bại thách thức này thông qua việc kết hợp yếu tố hành động nhanh nhẹn, lối chơi sáng tạo và thiết kế màn chơi đa dạng.

Trò chơi "Red Ball" được lựa chọn vì tích hợp một loạt yếu tố mà tôi tin rằng sẽ thu hút người chơi Tính đơn giản và dễ chơi của trò chơi sẽ thuận tiện cho nhiều người chơi, bao gồm cả những người mới bắt đầu Đồng thời, việc thiết kế màn chơi đa dạng và thú vị sẽ giữ cho người chơi luôn có sự tò mò và hứng thú trong suốt quá trình chơi.

Với đam mê mãnh liệt dành cho thế giới game, tôi hy vọng rằng trò chơi "Red Ball" sẽ mang đến cho người chơi những khoảnh khắc vui vẻ và thư giãn Hơn thế nữa, trò chơi cũng góp một phần nhỏ vào sự đa dạng và phong phú của thế giới game.

KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU

Khảo sát hiện trạng

Chúng ta cần xác định các yếu tố quan trọng như lối chơi ưa thích, độ khó mong muốn và các tính năng đáng chú ý mà người chơi mong muốn thấy trong trò chơi. Nhờ vào sự tham gia chân thành của người tham gia khảo sát, chúng tôi có thể tạo ra trải nghiệm chơi game tốt nhất dựa trên những thông tin đáng giá này Bên cạnh đó, độ tuổi, giới tính của người chơi cũng là một yếu tố quan trọng.

Tôi đã sử dụng một bộ câu hỏi đa dạng tạo bằng Google Form để đánh giá ý kiến của người chơi về các khía cạnh của trò chơi Câu hỏi trong khảo sát bao gồm:

•Lối chơi yêu thích: Người chơi được yêu cầu chọn lối chơi yêu thích, ví dụ như hành động, giải đố, phiêu lưu, v.v.

•Độ khó mong muốn: Xác định mức độ khó mà người chơi cảm thấy thoải mái hoặc thách thức.

•Tính năng ưa thích: Người chơi đề xuất những tính năng mà họ muốn thấy trong trò chơi, ví dụ như chế độ chơi đa người, cửa hàng ảo, cấp độ tùy chỉnh, v.v.

Kết quả từ khảo sát cung cấp cái nhìn sâu rộng về sự mong đợi và nguyện vọng của người chơi Những thông tin này đã đóng góp quan trọng vào quá trình thiết kế và phát triển trò chơi "Red Ball" Tôi đã áp dụng các phản hồi và ý kiến từ khảo sát để tạo ra một trò chơi phù hợp với mong muốn của người chơi và đồng thời đảm bảo trải nghiệm chơi game thú vị và đa dạng.

CHƯƠNG 2 KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU

Tổng quan chức năng

2.2.1 Biểu đồ use case tổng quát

Hình 2.1:Biểu đồ Use Case tổng quát

2.2.2 Biểu đồ use case chức năng tạm dừng game

Hình 2.2:Biểu đồ Use Case tạm dừng trong game

CHƯƠNG 2 KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU

2.2.3 Biểu đồ use case chức năng cài đặt game

Hình 2.3:Biểu đồ Use Case chức năng cài đặt game

2.2.4 Biểu đồ use case chức năng Vào màn chơi - chơi game

Hình 2.4:Biểu đồ use case chức năng Vào màn chơi - Kết quả chơi

Yêu cầu phi chức năng

Project(Dự án): Trong cửa sổ này, bạn có thể thấy tất cả các tài nguyên của dự án, chẳng hạn như hình ảnh, âm thanh, các tệp mã nguồn, và nhiều thứ khác Điều này giúp bạn quản lý tất cả các tài nguyên của trò chơi.

Cửa sổ Inspector giúp kiểm tra chi tiết thông tin về Game Object đang làm việc, bao gồm những component được đính kèm và thuộc tính của chúng.

Bạn có thể điều chỉnh, thiết lập mọi thông số và chức năng của Game Object thông qua cửa sổ Inspector.

Mọi thuộc tính thể hiện trong Inspector đều có thể dễ dàng tuỳ chỉnh trực tiếp mà không cần thông qua một kịch bản định trước.

Các thiết lập của từng component được đặt trong menu Các bạn có thể click chuột phải, hoặc chọn icon hình bánh răng nhỏ để xuất hiện menu.

Ngoài ra Inspector cũng thể hiện mọi thông số Import Setting của asset đang làm việc như hiển thị mã nguồn của Script, các thông số animation,

Toolbar(Thanh công cụ): Thanh công cụ nằm ở phía trên cùng của giao diện,

CÔNG NGHỆ SỬ DỤNG

Giới thiệu về ngôn ngữ C Sharp

C Sharp là ngôn ngữ lập trình phổ biến, thích hợp phát triển nhiều loại ứng dụng, từ ứng dụng máy tính đến trò chơi, ứng dụng di động C Sharp là ngôn ngữ hướng đối tượng, cho phép tạo lớp và đối tượng giúp tổ chức mã nguồn hiệu quả.

Sự An Toàn Về Kiểu Dữ Liệu: C Sharp có kiểm tra kiểu dữ liệu mạnh mẽ, giúp tránh các lỗi phổ biến liên quan đến kiểu dữ liệu trong quá trình biên dịch và thực thi.

Tích Hợp Tốt Với Công Cụ Phát Triển Microsoft: C Sharp được tích hợp mạnh mẽ với các công cụ phát triển của Microsoft như Visual Studio, giúp tạo ra môi trường phát triển mạnh mẽ và dễ dàng sử dụng.

Cú Pháp Đơn Giản: Cú pháp của C Sharp được thiết kế để dễ đọc và dễ hiểu, giúp người lập trình tập trung vào việc giải quyết vấn đề thay vì mất thời gian với cú pháp phức tạp.

Xử Lý Ngoại Lệ: C Sharp cung cấp cơ chế xử lý ngoại lệ để quản lý và xử lý các tình huống không mong muốn trong quá trình thực thi chương trình.

Phát Triển Ứng Dụng Game: C Sharp cũng được sử dụng rộng rãi trong phát triển game, đặc biệt là trong Unity, một môi trường phát triển trò chơi phổ biến.

C Sharp sở hữu một cộng đồng phát triển rộng lớn với nguồn tài liệu hỗ trợ học tập phong phú Nhờ đó, người dùng có thể dễ dàng tìm kiếm thông tin để giải quyết các vấn đề cụ thể trong quá trình sử dụng ngôn ngữ lập trình này.

CHƯƠNG 3 CÔNG NGHỆ SỬ DỤNG

Hình 3.9:Hình ảnh Visual Studio

Giới thiệu Visual Studio

Visual Studio là một môi trường phát triển tích hợp (IDE) mạnh mẽ được phát triển bởi Microsoft Nó cung cấp một loạt các công cụ và tài nguyên để hỗ trợ việc phát triển ứng dụng đa năng, bao gồm ứng dụng di động, web, máy tính và cả game. Visual Studio hỗ trợ Unity một cách rất mạnh mẽ Unity là một nền tảng phát triển game phổ biến, và Visual Studio được tích hợp chặt chẽ với nó để cung cấp môi trường lập trình tốt nhất cho việc phát triển game trong Unity Dưới đây là một số cách mà Visual Studio hỗ trợ Unity:

Khi cài đặt Unity, bạn có thể liên kết nó với Visual Studio làm trình biên tập mã mặc định, cho phép bạn dễ dàng mở các tệp mã và tài nguyên trong Unity bằng Visual Studio.

•Debugging Mạnh Mẽ:Visual Studio cho phép bạn debug mã của mình trong Unity một cách hiệu quả Bạn có thể thực hiện debugging theo dõi và xem biến, hàm và lớp trong quá trình thực thi game.

•Tích Hợp Source Control:Visual Studio hỗ trợ tích hợp các hệ thống quản lý phiên bản như Git cho dự án Unity của bạn Điều này giúp bạn theo dõi lịch sử thay đổi, hợp nhất mã và quản lý phiên bản dễ dàng.

•Công Cụ Unity:Visual Studio cung cấp các công cụ đặc biệt dành cho Unity như Console, Animator và Hierarchy Điều này giúp bạn dễ dàng đặt dấu chỗ lỗi, tìm kiếm và chỉnh sửa các thành phần trong Unity.

•Tùy Chỉnh Môi Trường:Có thể tùy chỉnh môi trường lập trình của mình trong Visual Studio để phù hợp với cách bạn làm việc với Unity.

CHƯƠNG 3 CÔNG NGHỆ SỬ DỤNG

Giới thiệu các công cụ quản lý mã nguồn

GitLab là một nền tảng quản lý mã nguồn và dự án phân tán, được xây dựng trên nền tảng Git Nó cung cấp môi trường hoàn chỉnh để quản lý, lưu trữ và hợp tác phát triển mã nguồn.

•Lưu trữ mã nguồn: Quản lý mã nguồn bằng hệ thống quản lý phiên bản Git.

•Quản lý dự án: Theo dõi tiến độ công việc, phân chia nhiệm vụ, quản lý vấn đề và báo cáo.

•CI/CD: Tích hợp tính năng Continuous Integration (CI) và Continuous De- ployment (CD) để tự động hóa kiểm tra và triển khai mã.

•Hợp tác nhóm: Cho phép nhiều người cùng làm việc trên cùng một dự án, với các tính năng như merge request và nhận xét mã.

•Quản lý vấn đề: Tạo và quản lý các vấn đề, báo cáo lỗi và yêu cầu tích hợp.

SourceTree là một ứng dụng giao diện đồ họa (GUI) dành cho việc quản lý mã nguồn và thao tác với hệ thống quản lý phiên bản như Git và Mercurial.

CHƯƠNG 3 CÔNG NGHỆ SỬ DỤNG

Hình 3.11:Hình ảnh Source Tree

•Cung cấp giao diện trực quan để thực hiện các thao tác với mã nguồn, không cần sử dụng dòng lệnh.

•Xem lịch sử và thay đổi: Hiển thị lịch sử commit và thay đổi mã nguồn một cách rõ ràng.

•Quản lý nhánh: Tạo, chuyển đổi và hợp nhất các nhánh mã nguồn một cách dễ dàng.

•Giải quyết xung đột: Hỗ trợ giải quyết xung đột khi hợp nhất mã nguồn từ các nhánh khác nhau.

•Hợp tác nhóm: Cho phép thực hiện các thao tác hợp nhất và tương tác với các nền tảng như GitLab.

THIẾT KẾ, TRIỂN KHAI HỆ THỐNG

Thiết kế trò chơi

4.1.1 Mô tả cách trò chơi hoạt động, quy tắc và cơ chế chơi.

Tên trò chơi:Ball Adventure.

Core loop:Play level - Colect Coin - Buy Skin

Để di chuyển, bạn sử dụng nút bấm bên trái màn hình để sang trái sang phải và nút mũi tên hướng lên trên bên phải màn hình để nhảy.

Hình 4.1:Các nút điều khiển quả bóng

Tấn công:Nhảy lên đầu kẻ địch để đánh bại chúng.

Tính điểm:Điểm tính theo số vàng ăn được Vàng sẽ rơi ra từ kẻ địch bị đánh bại Vàng cũng sẽ xuất hiện trong màn chơi. Điều kiện chiến thắng:Ball đến được cổng chiến thắng ở điểm cuối màn chơi. Điều kiện thua:Ball bị kẻ địch đánh bại, nga xuông hô hoăc bi gai đâm.

Màn chơi:Xây dựng màn chơi, đầy đủ đối tượng chính, đối tượng phản diện,môi trường Có điểm đầu điểm cuối.

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG

4.1.2 Phác thảo giao diện người dùng

Hình 4.2:Giao diện của màn hình chính

Hình 4.3:Giao diện trong màn chơi

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG

Phát triển trò chơi

Tên nhân vật Mô tả

Ball Một quả bóng tròn đỏ

Enemy 1 Lăn phải, lăn trái trong một vùng nhật định Có 2 cột chặn 2 bên Enemy 2 Lăn chạy theo Ball nếu như Ball đi vào vùng của nó

Enemy 3 Quái đu dây lên xuống tại một điểm cố định

Boss Lăn trái phải theo Ball, có Skill

Bảng 4.1:Bảng mô tả các nhân vật

Môi trường sẽ theo theme Hiện tại sẽ thiết kế theme mùa xuân, cây xanh tươi tốt, ánh nắng tươi sáng.

Tên môi trường Mô tả

Background Ảnh nền đằng sau

Ground Gồm các ô cỏ, đất Ball sẽ lăn trên vùng đất này. Tree, Grass Cây, bụi cỏ trang trí.

Flower Hoa mọc trên nền đấy, có thể để trang trí.

Clound Mây bay bay trên trời Làm vật trang trí.

Bảng 4.2:Bảng mô tả môi trường

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG

Hình 4.5:Mô tả môi trường của game

JoinStick Dùng để di chuyển nhân vật

Ball Lập trình cho Ball di chuyển, Nhảy nhót, Die. Enemy Class cha cho các loại enemy Di chuyển, HP, die GameController Pause game, Resume game

Settings On/Off Music SFX

Level Tính level, quản lý trạng thái level

Bảng 4.3:Bảng mô tả các lớp

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG

Thông tin màn chơi:Lưu trữ thông tin về cấp độ hiện tại.

Cài đặt tuỳ chọn:Lưu trữ cài đặt tuỳ chọn của người chơi đã thiết lập Bao gồm âm thanh, hiệu ứng.

Dữ liệu tiền tệ:Lưu thông tin về tiền tệ, về hệ thông mua sắm trong game.

Mỗi Object có chức năng riêng, để Ball có thể tương tác trong level.

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG

Cọc gỗ chỉ đường Cọc gỗ, gắn mũi tên Dùng để chỉ hướng đi cho Ball

Nước Dùng để tạo sông hồ Ball nhảy xuống là diey.

Bập bênh Như bập bênh ngoài công viên.

Vòng quay gỗ tự động xoay với tốc độ được thiết lập sẵn và giữ nguyên vị trí sau khi xếp bàn đồ Đối với chướng ngại vật, bạn sẽ đặt chúng xuống đất để bóng chạm vào và mất mạng.

Răng cưa Tự động quay theo tốc độ set sẵn Vị trí sẽ cố định khi xếp map. Vàng Xuất hiện trong các level, thu thập sẽ cộng tiền để mua skin.

Bảng 4.4:Bảng mô tả các Object

Hình 4.9:Một số các Object trong game

4.2.7 Âm thanh Âm thanh là yếu tố không kém phần quan trọng trong ứng dụng game Thật nhàm chán khi một cảnh đánh đánh nhau, bắn nhau hay các hiệu ứng đẹp mắt mà không có âm thanh.

Tên âm thanh Mô tả

Nhạc nền Nhạc nền sẽ phát xuyên suốt trong game

Ball Jump Âm thanh khi Ball nhảy.

Ball Die Âm thanh khi Ball Die.

Win/Lose Âm thanh khi Win/Lose

Coin Âm thanh khi Ball ăn vàng.

Bảng 4.5:Bảng mô tả các âm thanh

Kết quả đạt được

Xây dựng nhân vật Ball:Nhân vật có thể di chuyển trái phải và nhảy Khi va chạm với vật cản sẽ dừng lại Va vào địch hoặc chông/gai hay rơi xuống nước sẽ hi sinh.

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG

Hình 4.10:Demo Ball và giao diện ingame

Logic di chuyển của Ball: Đẩy một lực vào Ball để nó tự lăn.

Logic nhảy: Kiểm tra xem Ball có ở trên mặt đất không, nếu có thì sẽ được phép nhảy Đẩy một lực từ dưới lên để Ball nhảy.

/ / nhay p u b l i c f l o a t JumpForce ; p r i v a t e vo id Jump ( )

{ rb AddForce ( V ec to r3 up * JumpForce ) ; is Gr ou nde d = f a l s e ;

/ / Di chuyen p u b l i c f l o a t Movespeed ; p r i v a t e vo id Move ( )

Xử lý tải hoạt ảnh nhân vật là một nhiệm vụ thiết yếu trong phát triển game 2D Các game 2D được tạo thành từ nhiều mô hình 2D được ghép lại với nhau để tạo thành môi trường trò chơi Do đó, việc tải và hiển thị các mô hình 2D sao cho hiệu quả là vô cùng quan trọng Mỗi mô hình 2D được tạo thành từ nhiều đa giác, tạo nên khối lượng và chi tiết cho nhân vật.

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG thể Ngày nay, trong một mô hình 2D không chỉ đơn thuần chứa một khối vật thể mà nó bao gồm nhiều khối vật thể được gắn kết với nhau trên một khung xương. Điều này giúp cho mô hình không bị gắn chết một chuyển động vào bên trong và dễ dàng thay đổi chuyển động cho mô hình.

Giải pháp: Tạo ra một file script và gắn nó vào một đối tượng trong game bất kì để đoạn script có thể thức thi Trong file script này, ta khai báo một đối tượng kiểu GameObject để lưu mô hình và dung hàm Instantiate() để khởi tạo mô hình này ở vị trí góc quay mong muốn Sau đó Load mô hình từ Prefab chứa trong resource.

Xử lý được chuyển động nhân vật:Chúng ta đã load được mô hình 2D vào trong game, vậy làm sao để mô hình 2D này có thể chuyển động trong game Tôi đã sử dụng cach sau: - Kỹ thuật keyframe Đối với kỹ thuật key frame, người ta sử dụng một sprite cho một keyframe của hành động Để tạo ra chuyển động, ta sẽ vẽ một keyframe tại thời điểm đầu và thay đổi tuần tự các keyframe sau, chúng ta sẽ có được một animation Đây là phương pháp đơn giản nhất để tạo chuyển động, nhưng lại tốn kém về bộ nhớ, vì ta phải tốn nhiều sprite cho nhiều chuyển động khác nhau.

Xử lý được va chạm: Colliders là vật mà engine vật lý sẽ dung để có thể nhận ra sự va chạm, không giống như các mesh, chúng nhận biết được mỗi khi va chạm với nhau Đa số collider có hình dạng đơn giản nhằm mục đích tính toán đơn giản và dễ dàng hơn, phần lớn các object trong Unity sẽ được gắn collider mỗi khi tạo ra, với Cube là Box Collider, Sphere là Sphere Collider, Cylinder là Capsule Collider. Unity cung cấp những API sau đâu để phát hiện sự va chạm của các collider void OnCollisionEnter(Collision collision) – Chạy 1 lần tại thời điểm va chạm giữa 2 vật void OnCollisionStay(Collision collision) – Chạy trong mỗi khung hình tại thời điểm 2 vật còn chạm vào nhau void OnCollisionExit(Collision collision) – Chạy tại khung hình cuối cùng khi 2 vật không còn chạm vào nhau nữa Với class Collision chúng ta có thể lấy ra những thuộc tính như: Contacts – điểm va chạm giữa 2 vật, tính bằng vector3 GameObject – game object va chạm với object gốc. vo id O nC ol li si on En te r2 D ( C o l l is i on 2 D o t h e r )

Xử lý Camera đi theo nhân vật:Di chuyển camera theo một đối tượng (thường

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG là người chơi) và giới hạn vùng di chuyển của camera theo giới hạn minY, maxY, minX và maxX offset: Đây là khoảng cách theo trục Z (chiều sâu) giữa camera và đối tượng theo dõi Mặc định bạn đang đặt offset sao cho camera nằm sau đối tượng smoothTime: Thời gian trôi qua để camera di chuyển từ vị trí hiện tại đến vị trí mới Điều này giúp làm mượt chuyển động của camera velocity: Biến này được sử dụng bởi Vector3.SmoothDamp() để tính toán vận tốc của camera target: Đối tượng mà camera đang theo dõi minY, maxY, minX, maxX: Các giới hạn cho phép camera di chuyển Camera sẽ không thể vượt quá các giới hạn này Update(): Đây là phần chính của mã, được gọi mỗi khung hình Cập nhật giá trị offset.y thành minY, để camera không thể điều chỉnh cao hơn giới hạn minY. targetPosition là vị trí mục tiêu của camera Bạn cộng thêm offset vào vị trí của đối tượng mục tiêu.

Bạn sử dụng một số điều kiện để kiểm tra xem camera có vượt quá giới hạn maxX, minX, maxY hay không Nếu có, bạn điều chỉnh lại targetPosition để nó nằm trong giới hạn cho phép.

Cuối cùng, bạn sử dụng Vector3.SmoothDamp() để di chuyển camera từ vị trí hiện tại đến targetPosition một cách mượt mà và điều chỉnh velocity.

Với mã này, camera sẽ di chuyển theo đối tượng theo dõi (target) và giữ cho camera nằm trong vùng giới hạn được xác định bởi minY, maxY, minX và maxX. p r i v a t e Vector3 o f f s e t = new Vector3 (0 f , 0f , −10 f ) ; p r i v a t e f l o a t smoothTime = 0.2 5 f ; p r i v a t e Ve ctor3 v e l o c i t y = Vecto r3 ze ro ;

[ S e r i a l i z e F i e l d ] p r i v a t e f l o a t minY , maxY , minX , maxX; p r i v a t e void Update ( )

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG t a r g e t P o s i t i o n y = maxY ;

} t r a ns f o r m p o s i t i o n = Vector3 SmoothDamp ( t r a n sf o r m p o s i t i o n , t a r g e t P o s i t i o n , r e f v e l o c i t y , smoothTime ) ;

Xử lý tạm dừng game, tiếp tục game:

/ / Resume th e game void ResumeGame ( )

Xử lý sự kiện Ball ăn đồng vàng:

•Tạo một Prefab đại diện cho đồng vàng Thêm Collider2D vào đồng vàng để xác định việc va chạm.

•Tạo một script để quản lý đồng vàng. u s i n g U n i t y E n g i n e ; p u b l i c c l a s s Coin : MonoBehaviour

{ p u b l i c i n t c oi nVa lu e = 1 0; p r i v a t e void OnTriggerEnter2D ( C ol li d er 2D o t h er )

GameManager i n s t a n c e C o ll e c t C o i n ( c oin Val ue ) ; Des tro y ( gameObject ) ;

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG

•Tạo một GameManager (quản lý trò chơi) để xử lý việc thu thập đồng vàng và cập nhật điểm. u s i n g U n i t y E n g i n e ; us i ng U nityEn gine UI ; p u b l i c c l a s s GameManager : MonoBehaviour

{ p u b l i c s t a t i c GameManager i n s t a n c e ; p u b l i c Text s c o re T ex t ; p r i v a t e i n t s c o r e = 0 ; p r i v a t e void Awake ( )

} p u b l i c v oi d C ol l e ct C o in ( i n t v a lu e )

{ s c o r e += v al u e ; s c o re Te x t t e x t = " Score : " + s c o r e T oS t ri n g ( ) ; }

•Gắn script xử lý di chuyển của Ball Trong hàm xử lý va chạm, xử lý khi Ball ăn đồng vàng: u s i n g U n i t y E n g i n e ; p ub l i c c l a s s P l a y e r C o n t r o l l e r : MonoBehaviour

{ p r i v a t e void OnTriggerEnter2D ( C ol li d er 2D o t h er )

GetComponent ( ) c oin Val ue ) ;

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG

•Thay đổi tag của Game Object Coin ở trong editor.

Xử lý các chức năng của Enemy

•Enemy di chuyển theo hướng cố định và có chăn hai đầu. p u b l i c c l a s s En em yC on t ro ll er : MonoBehaviour

{ p u b l i c f l o a t moveSpeed = 1 0 f ; p u b l i c b oo l moveRight = t r u e ; p r i v a t e Rigidbody2D r b ; p r i v a t e vo id S t a r t ( )

{ rb v e l o c i t y = new Vec to r2 ( moveSpeed , rb v e l o c i t y y ) ; } e l s e

{ rb v e l o c i t y = new Vec to r2 ( moveSpeed , rb v e l o c i t y y ) ;− }

} p r i v a t e vo id O nC o l l i s i o n E n te r 2 D ( C o l li s i o n 2D c o l l i s i o n ) { i f ( c o l l i s i o n gameObject CompareTag ( " Wall " ) )

•Enemy di chuyển theo Ball. p u b l i c c l a s s En em yC on tr o l l er : MonoBehaviour

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG p u b l i c f l o a t moveSpeed = 1 0 f ; p r i v a t e Tr an s fo rm p l a y e r ; p u b l i c b oo l F i nd O b je c t = f a l s e ; vo i d S t a r t ( )

Ve c t or 2 moveDirec = ( p l a y e r p o s i t i o n − t r a n s f o r m p o s i t i o n ) n or ma l iz ed ; t r a n s f o r m T r a n s l a t e ( moveDirec * moveSpeed * Time d e l t a T i m e ) ;

•Enemy bị đánh bại khi Ball nhảy lên đầu chúng. void O nCo lli sio nEn te r2 D ( C o ll i si on 2 D o t h e r )

De st roy ( o t h e r gameObject ) ; rb AddForce ( Vect or3 up * JumpForce ) ; } e l s e

Des tro y ( gameObject ) ; Time t i m e S ca l e = 0 ; Debug Log ( " GameOver " ) ; }

Xử lý các Object khác:

•Lưỡi cưa: Gắn tại vị trí cố định Sử dụng thư viện DoWWen để quay.

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG

Hình 4.11:Luồng game Để chuyển được màn hình thì cần đổi giữa các Scene trong Unity Cần sử dụng các hàm và phương thức của lớp SceneManager.

Tạo script chuyển màn p u b l i c c l a s s SceneLoader : MonoBehaviour

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG

Gán script vào GameObject của Button (Next Level Button) và thiết lập scene-

Name thành tên Scene mà bạn muốn chuyển đến.

Trong Scene hiện tại, kéo và thả GameObject chứa Button vào trường On Click() của Button Next level trong Inspector.

Hình 4.12:Ví dụ chuyển Scene

Bây giờ, khi chạy game và nhấn nút "Next", Scene hiện tại sẽ chuyển sang Scene

Level 2.Xử lý lưỡi cưa xoay trong màn chơi

•Tạo GameObject cho Răng Cưa:

Tạo một GameObject trống và gắn sprite răng cưa làm con dấu của nó. Đảm bảo pivot point (điểm neo) của sprite nằm ở trung tâm để xoay tròn một cách đúng trục.

•Trong script của GameObject, sử dụng hàm transform.Rotate() để xoay răng cưa một cách liên tục trong mỗi khung hình. u s i n g U n i t y E n g i n e ; p u b l i c c l a s s RotatingSaw : MonoBehaviour

{ t r a n s f o r m R ot a t e ( V ector3 fo rwa rd * r o t a t i o n S p e e d * Time d el ta Ti me ) ; }

•Xử lý va chạm răng cưa:

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG

Thêm Collider 2D cho răng cưa Đặt Tag của răng cưa là "Saw".

Trong script của GameObject nhân vật, xử lý va chạm với răng cưa bằng cách kiểm tra xem nhân vật có va chạm với răng cưa hay không Nếu Ball va chạm với răng cưa thì Ball sẽ mất mạng. p r i v a t e vo id O nC o l l i s i o n E n te r 2 D ( C o l li s i o n 2D c o l l i s i o n ) { i f ( c o l l i s i o n gameObject CompareTag ( " Saw " ) ) {

Xử lý lò xo trong màn chơi: sử dụng các lực vật lý - lực đẩy để tạo ra hiệu ứng lò xo Khi Ball

•Thêm component Rigidbody2D cho Ball.

•Script lò xo: Kiểm tra nếu Ball ở vùng va chạm với lò xo thì đẩy một lực hướng lên trên vào Ball.

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG

Kiểm thử

Kiểm tra chức năng di chuyển của Ball:

•Khởi đầu game với trạng thái ban đầu Ấn các phím di chuyển để di chuyển

"Ball" qua các vị trí khác nhau trên màn hình Đảm bảo rằng "Ball" di chuyển mượt mà và không gặp khó khăn trong việc di chuyển qua các vật cản.

•Kiểm tra chức năng nhảy: Khởi đầu game với trạng thái ban đầu Kích hoạt chức năng nhảy bằng cách sử dụng phím hoặc nút nhảy trên giao diện người dùng Đảm bảo rằng "Ball" nhảy lên và thực hiện quá trình nhảy một cách hợp lý Kiểm tra xem "Ball" có thể nhảy qua các chướng ngại vật (nếu có) hoặc có bị cản trở không.

•Kiểm thử tương tác giữa di chuyển và nhảy: Kết hợp các tương tác di chuyển và nhảy để kiểm tra tính đúng đắn và hợp lý của cả hai chức năng Đảm bảo rằng "Ball" có thể di chuyển qua các vị trí và nhảy lên để vượt qua các rào cản (nếu có) một cách liền mạch.

•Kiểm thử biên: Thử nghiệm các tình huống biên, ví dụ như đẩy "Ball" ra khỏi màn hình hoặc đưa nó vào các vùng không được phép Đảm bảo rằng game có các xử lý hợp lý cho các tình huống biên.

•Kiểm thử tương thích: Kiểm tra chức năng di chuyển và nhảy trên các thiết bị khác nhau, chẳng hạn như điện thoại di động và máy tính bảng Đảm bảo rằng các thao tác di chuyển và nhảy vẫn hoạt động một cách chính xác trên các nền tảng khác nhau.

Kiểm thử trạng thái kết quả giúp đảm bảo trạng thái "Ball" của trò chơi thay đổi đúng như mong đợi sau khi chức năng di chuyển và nhảy được thực hiện Ví dụ, trò chơi sẽ kiểm tra xem "Ball" có mất trạng thái nhảy sau khi đạt đến một ngưỡng nhất định không.

•Kiểm thử tương tác với các yếu tố khác: Nếu có yếu tố khác trong game như đối thủ hoặc đối tượng tương tác, hãy kiểm tra xem chức năng di chuyển và nhảy có tương tác đúng đắn với chúng không.

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG

Kiểm tra chức năng tính điểm của Game:

•Khởi đầu trạng thái ban đầu: Bắt đầu game với trạng thái ban đầu, ví dụ: điểm bằng 0.

Để kiểm tra tính điểm của game, hãy thực hiện các hành động hoặc tương tác trong game có thể tăng điểm, như vượt qua cửa, ăn thức ăn, hoàn thành màn chơi Đảm bảo rằng việc thực hiện các hành động này thực sự làm tăng điểm.

•Kiểm tra tính đúng đắn của điểm: Sau khi thực hiện hành động, kiểm tra xem điểm số đã tăng chính xác theo kết quả mong đợi Xác minh rằng việc tăng điểm được áp dụng đúng cách, ví dụ: chỉ tăng điểm khi đạt được điều kiện cụ thể.

Để đảm bảo tính thống nhất trong cách tính điểm trong trò chơi, điều quan trọng là phải kiểm tra tính đồng nhất của điểm Điều này có nghĩa là đảm bảo rằng các điểm được tính theo cùng một cách trong tất cả các trường hợp Nếu có nhiều cách để kiếm điểm trong trò chơi, hãy thử nghiệm các cách khác nhau để đảm bảo tính đồng nhất của hệ thống tính điểm.

•Kiểm thử biên về tính điểm: Thử nghiệm các tình huống biên, ví dụ như cố gắng gán điểm âm hoặc điểm rất lớn Đảm bảo rằng hệ thống tính điểm xử lý các tình huống biên một cách chính xác và an toàn.

•Kiểm thử tương tác với các yếu tố khác: Nếu điểm số tương tác với các yếu tố khác trong game, chẳng hạn như mở khóa màn chơi mới hoặc mở khóa các tính năng, hãy kiểm tra tính đúng đắn và liên quan của chúng.

•Kiểm thử cập nhật điểm số: Nếu game cho phép lưu điểm số cao nhất hoặc ghi nhận lịch sử điểm, hãy kiểm tra xem điểm số cao nhất hoặc lịch sử điểm đã được cập nhật đúng cách sau mỗi lần kiếm điểm mới.

•Kiểm thử tương thích với lưu trữ và chia sẻ điểm số: Nếu game cho phép người chơi lưu trữ hoặc chia sẻ điểm số qua mạng, kiểm tra tính đúng đắn của quá trình lưu trữ và chia sẻ này.

•Kiểm thử tương thích với giao diện người chơi: Đảm bảo rằng điểm số hiển thị chính xác trên giao diện người chơi và được cập nhật liên tục khi người chơi kiếm điểm.

Triển khai

Cài đặt Unity: Đảm bảo đã cài đặt và cấu hình Unity trên máy tính.

Xác định Mục tiêu: Hệ điều hành Android.

Thiết bị sử dụng: Điện thoại thông minh, máy tính bảng Android. Đóng gói và xuất bản:

•Đảm bảo dự án của bạn đã hoàn thiện: Trước khi bạn bắt đầu xây dựng APK, đảm bảo rằng dự án của bạn đã hoàn thành và đã được kiểm tra kỹ.

•Kiểm tra Player Settings: Mở menu "Edit" trên thanh menu của Unity và chọn

"Project Settings" > "Player" Trong phần "Player Settings", bạn cần đảm bảo đã thiết lập các thông tin cơ bản như tên ứng dụng, bundle identifier, phiên bản, v.v.

•Build Settings: Mở menu "File" trên thanh menu của Unity và chọn "Build Settings" Trong cửa sổ Build Settings, chọn "Android" và sau đó nhấn nút

"Switch Platform" Unity sẽ chuyển sang chế độ build cho Android.

•Thêm Scenes: Thêm các scene mà bạn muốn bao gồm trong APK vào danh sách "Scenes In Build" Kéo và thả các scene từ Project vào đây.

Hình 4.13:Màn hình thêm Scenes

CHƯƠNG 4 THIẾT KẾ, TRIỂN KHAI HỆ THỐNG

Trong "Build Settings", bấm nút "Player Settings" để mở cửa sổ "Inspector" cấu hình cho APK Đảm bảo thiết lập chính xác thông tin như tên ứng dụng, biểu tượng, quyền

•Build APK: Trở lại cửa sổ Build Settings, nhấn nút "Build" Chọn nơi lưu trữ cho tệp APK và đặt tên cho nó Nhấn "Save" để bắt đầu quá trình xây dựng.

•Chờ quá trình xây dựng kết thúc: Unity sẽ tiến hành xây dựng APK Đợi quá trình này hoàn tất.

•Kiểm tra APK: Khi quá trình xây dựng hoàn tất, bạn sẽ có một tệp APK tại địa chỉ bạn đã chỉ định Sao chép tệp APK vào thiết bị Android của bạn hoặc máy ảo để kiểm tra ứng dụng.

Hình 4.14:Vị trí APK sau khi build xong

ĐÁNH GIÁ, KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Kết quả

Trong hành trình phát triển dự án game này, tôi đã đạt được một số mục tiêu quan trọng Đầu tiên, tôi đã tạo ra trò chơi Ball Adventure với gameplay đa dạng và thú vị, kết hợp giữa yếu tố hành động và giải đố, mang lại trải nghiệm độc đáo cho người chơi.

Tôi cũng đã học hỏi nhiều từ việc nghiên cứu và phân tích các tài liệu tham khảo, từ việc thử nghiệm và kiểm thử trò chơi để điều chỉnh và cải thiện chất lượng sản phẩm Quá trình này không chỉ giúp tôi hiểu rõ hơn về quá trình phát triển trò chơi mà còn giúp nâng cao kỹ năng của tôi trong việc sáng tạo, thiết kế và lập trình game.

Trong tương lai, tôi sẽ tiếp tục hoàn thiện và cải tiến trò chơi Ball Adventure, hướng tới trải nghiệm người dùng tốt nhất Đồng thời, tôi cũng sẽ cân nhắc đa dạng hóa và phát triển dự án theo các hướng mới, mở rộng phạm vi tiếp cận và đáp ứng nhu cầu chơi game đa dạng của người dùng.

Cuối cùng, dự án này không chỉ mang lại cho tôi những kiến thức và kỹ năng mới mà còn là hành trình đầy hứa hẹn và ý nghĩa trong việc thể hiện sáng tạo của tôi trong thế giới game.

Đánh giá

•Hiểu được cấu trúc, cách thức hoạt động, cách thức phát triển ứng dụng trên Unity

•Nâng cao kiến thức lập trình và tiếng anh chuyên ngành thông qua những tài liệu về Unity bằng tiếng anh

•Xây dựng được các màn hình: Home, Level, Settings.

•Xây dựng được giao diện Pause: Hiển thị các nút Resume, Restart.

•Xây dựng chức năng lưu điểm, tính điểm.

•Xây dựng được giao diện khi thắng, khi thua.

•Quái có khả năng xác định vị trí nhân vật và đi theo để tấn công.

•Mỗi Level sẽ có 1 cửa để người chơi qua được màn tiếp theo.

•Xây dựng được Boss cuối.

CHƯƠNG 5 ĐÁNH GIÁ, KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Những điểm chưa làm được

•Chưa có nhiều màn chơi.

•Màn chơi chưa đa dạng.

•Shop chưa đa dạng, chưa có nhiều skin cho nhân vật.

•Chưa có các tính năng vệ tinh.

Hướng phát triển

Do đây là một trong những game đầu tay của tôi nên các chức năng sẻ còn hạn chế Tôi sẽ làm tiếp các màn chơi nâng cao kĩ năng và độ khó cho bớt nhàm chán. Cập nhật thêm nhiều hiệu ứng va chạm Cho các objects thêm phần sinh động cũng như trải nghiệm gần nhất với đời thật Một số chức năng để phát triển:

•Tạo checkpoint cho nhân vật trong các màn chơi.

•Thêm Shop mua Skin cho Ball để nhân vật có chỗ tiêu tiền.

•Thêm tính năng vòng quay may mắn.

•Thêm mạng cho Ball, khi hết mạng phải dùng tiền để mua mạng.

•Thêm đa dạng theme: Theme mùa đông, theme máy móc, theme bãi biển,

•Thêm một vài item đặc biệt như nam châm hút đồng vàng hoặc thuốc biến to cho Ball càn quét địch.

•Thêm tính năng chọn lại level đã chơi, để người chơi có thể cày cuốc vàng.Bên cạnh đó, tôi nhận thấy cần phải tối ưu game hơn để đảm bảo trải nghiệm chơi game mượt mà và tốt nhất cho người chơi.

Ngày đăng: 29/05/2024, 18:30

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Biểu đồ Use Case tổng quát - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 2.1 Biểu đồ Use Case tổng quát (Trang 12)
Hình 2.2: Biểu đồ Use Case tạm dừng trong game - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 2.2 Biểu đồ Use Case tạm dừng trong game (Trang 12)
Hình 2.4: Biểu đồ use case chức năng Vào màn chơi - Kết quả chơi - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 2.4 Biểu đồ use case chức năng Vào màn chơi - Kết quả chơi (Trang 13)
Hình 3.7: Inspector trong Unity - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 3.7 Inspector trong Unity (Trang 14)
Hình 3.8: Inspector trong Unity - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 3.8 Inspector trong Unity (Trang 15)
Hình 3.9: Hình ảnh Visual Studio - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 3.9 Hình ảnh Visual Studio (Trang 16)
Hình 3.10: Hình ảnh Gitlap - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 3.10 Hình ảnh Gitlap (Trang 17)
Hình 3.11: Hình ảnh Source Tree - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 3.11 Hình ảnh Source Tree (Trang 18)
Hình 4.1: Các nút điều khiển quả bóng - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 4.1 Các nút điều khiển quả bóng (Trang 19)
Hình 4.3: Giao diện trong màn chơi - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 4.3 Giao diện trong màn chơi (Trang 20)
Hình 4.2: Giao diện của màn hình chính - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 4.2 Giao diện của màn hình chính (Trang 20)
Hình 4.4: Nhân vật Ball - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 4.4 Nhân vật Ball (Trang 21)
Bảng 4.2: Bảng mô tả môi trường - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Bảng 4.2 Bảng mô tả môi trường (Trang 21)
Bảng 4.1: Bảng mô tả các nhân vật - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Bảng 4.1 Bảng mô tả các nhân vật (Trang 21)
Hình 4.6: Level 1 - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 4.6 Level 1 (Trang 22)
Hình 4.5: Mô tả môi trường của game - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 4.5 Mô tả môi trường của game (Trang 22)
Bảng 4.3: Bảng mô tả các lớp - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Bảng 4.3 Bảng mô tả các lớp (Trang 22)
Hình 4.8: Level Boss - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 4.8 Level Boss (Trang 23)
Hình 4.7: Level 2 - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 4.7 Level 2 (Trang 23)
Bảng 4.5: Bảng mô tả các âm thanh - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Bảng 4.5 Bảng mô tả các âm thanh (Trang 24)
Hình 4.9: Một số các Object trong game - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 4.9 Một số các Object trong game (Trang 24)
Bảng 4.4: Bảng mô tả các Object - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Bảng 4.4 Bảng mô tả các Object (Trang 24)
Hình 4.10: Demo Ball và giao diện ingame - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 4.10 Demo Ball và giao diện ingame (Trang 25)
Hình 4.11: Luồng game - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 4.11 Luồng game (Trang 32)
Hình 4.12: Ví dụ chuyển Scene - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 4.12 Ví dụ chuyển Scene (Trang 33)
Hình 4.13: Màn hình thêm Scenes - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 4.13 Màn hình thêm Scenes (Trang 37)
Hình 4.14: Vị trí APK sau khi build xong - Đồ Án Tốt Nghiệp Thiết Kế Xây Dựng Trò Chơi 2D Trên Unity.pdf
Hình 4.14 Vị trí APK sau khi build xong (Trang 38)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w