- vừa được xem lúc

Mẹo Hữu ích khi Code Game Unity

0 0 5

Người đăng: Nguyễn Mạnh

Theo Viblo Asia

Mẹo Hữu ích khi Code Game Unity

Unity là một game engine đa nền tảng được phát triển bởi Unity Technologies, mà chủ yếu để phát triển video game cho máy tính, consoles và điện thoại. Lần đầu tiên nó được công bố chạy trên hệ điều hành OS X, tại Apple's

I.2 cách tham chiếu đến class khác

1.tham chiếu bằng tên class và biến trung gian

  • Giả sửmuốn truy cập để lấy thông tin 1 class là test.cs.

  • Tạo 1 class khác và tạo biến trung gian là :[Serializedfield] test get_test;

  • Get_test sẽ có thể lấy đc tất cả các biến và phương thức có phạm vi public trở lên

image.png

2.tham chiếu bằng namespace

A. mô hình CMMGUV

Core:

  • Chịu trách nhiệm cho các tính năng cốt lõi và không phụ thuộc vào bất kỳ module nào khác.

  • Chứa các lớp, hàm và utilities dùng chung cho toàn bộ dự án.

  • Ví dụ: Quản lý vòng đời, quản lý tài nguyên, quản lý cấu hình, quản lý sự kiện, v.v.

Model:

  • Chịu trách nhiệm cho các lớp mô tả dữ liệu và logic nghiệp vụ.

  • Chứa các lớp đại diện cho các thực thể trong game, chẳng hạn như nhân vật, kẻ địch, vũ khí, v.v.

  • Không chứa bất kỳ logic giao diện người dùng hoặc cơ chế game play nào.

Mechanic:

  • Chịu trách nhiệm cho các hệ thống và tính năng game play.

  • Chứa các lớp và logic liên quan đến các cơ chế game play như di chuyển, tấn công, phòng ngự, v.v.

  • Tương tác với các lớp trong namespace Model để thực hiện các tính năng game play.

GamePlayer:

  • Chịu trách nhiệm cho logic điều khiển và hành vi của người chơi.

  • Chứa các lớp và logic liên quan đến việc kiểm soát các hành động của người chơi, chẳng hạn như nhập liệu, điều khiển nhân vật, v.v.

Tương tác với các lớp trong namespace Mechanic để thực hiện các hành động của người chơi.

UI:

  • Chịu trách nhiệm cho giao diện người dùng và các tính năng liên quan.

  • Chứa các lớp và logic liên quan đến các phần tử giao diện như menu, HUD, popup, v.v.

  • Tương tác với các lớp trong namespace Model và Mechanic để hiển thị và cập nhật thông tin cho người chơi.

View:

  • Chịu trách nhiệm cho việc hiển thị các thực thể trong game.

  • Chứa các lớp và logic liên quan đến việc vẽ, hiệu ứng, animation, v.v. cho các đối tượng trong game.

  • Tương tác với các lớp trong namespace Model để lấy dữ liệu và hiển thị chúng.

B. Mô hình MVC

  • Đọc lại phần A.

  • Model tương ứng với thành phần "model".

  • View tương ứng với "view" và "UI".

  • Controller tương ứng với "core", "mechanic" và "gameplay".

II.khi nào cần update, fix update và late update

Update():

  • Được gọi một lần mỗi frame, ngay sau khi frame được vẽ.

  • Thích hợp để xử lý các tương tác người dùng, cập nhật trạng thái game, hoặc các tác vụ

  • không phụ thuộc vào thời gian.

  • Ví dụ: Kiểm tra đầu vào, cập nhật vị trí của vật thể dựa trên di chuyển của người dùng.

FixedUpdate():

  • Được gọi với một tần suất cố định, độc lập với tốc độ khung hình.

  • Thích hợp để cập nhật các vật lý, như chuyển động, va chạm, lực, v.v.

  • Ví dụ: Cập nhật vị trí và vận tốc của vật thể dựa trên lực và khối lượng.

LateUpdate():

  • Được gọi sau khi tất cả các Update() trong frame đã được gọi.

  • Thích hợp để cập nhật các thành phần phụ thuộc vào trạng thái của các vật thể khác, như camera theo dõi nhân vật.

  • Ví dụ: Cập nhật vị trí của camera để theo dõi nhân vật sau khi nhân vật đã được cập nhật vị trí trong Update().

Một số trường hợp điển hình khi nên sử dụng FixedUpdate() và LateUpdate():

FixedUpdate():

  • Cập nhật vật lý, như di chuyển, va chạm, lực.

  • Cập nhật trạng thái của các thành phần liên quan đến vật lý, như Rigidbody.

LateUpdate():

  • Cập nhật camera để theo dõi nhân vật hoặc đối tượng khác.

  • Cập nhật UI để phản ảnh trạng thái của game.

  • Cập nhật các thành phần phụ thuộc vào trạng thái của các thành phần khác.

III.XML doc cơ bản

summary:

  • summary. là một phần của XML-doc comment, được sử dụng để mô tả một phần của code, như một phương thức, lớp hoặc thuộc tính.

  • Mục đích của <summary> là cung cấp thông tin mô tả về chức năng và mục đích của code, giúp người đọc hiểu rõ hơn.

  • Thông tin trong <summary> sẽ được hiển thị khi sử dụng IDE như Visual Studio để xem tài liệu của code.

  • <summary> được bao quanh bởi cặp thẻ /// hoặc /** */.

/// <summar> /// Turns the main menu on or off. /// </summary>

param:

  • Thẻ param được sử dụng để mô tả một tham số đầu vào của một phương thức.

Cú pháp: <param name="tên_tham_số">Mô tả tham số</param>

** Return : **

  • Thẻ <return> được sử dụng để mô tả giá trị trả về của một phương thức.

  • Cú pháp: <returns>Mô tả giá trị trả về</returns>

Ví dụ:

/// <summary>
/// Calculates the area of a rectangle.
/// </summary>
/// <param name="width">The width of the rectangle.</param>
/// <param name="height">The height of the rectangle.</param>
/// <returns>The area of the rectangle.</returns>
public double CalculateRectangleArea(double width, double height)
{ return width * height;
}

Bình luận

Bài viết tương tự

- vừa được xem lúc

Thanh điều chỉnh âm lượng trong Unity.

. Chào các bạn, đến hẹn lại gặp nhau ^_^. Hôm nay mình sẽ hướng dẫn các bạn tạo ra thanh điều chỉnh âm lượng, các bạn có thể đặt nó trong setting, và người dùng có thể chỉnh âm lượng to nhỏ tùy theo nhu cầu.

0 0 27

- vừa được xem lúc

Thuật toán Minimax (AI trong Game)

Vừa qua mình có làm game dạng như caro và đã làm AI cho nó có dùng thuật toán minimax thấy hay hay nên post lên chia sẻ cho mọi người cùng tham khảo. Bài viết này mình chỉ viết về những cái cơ bản của

0 0 63

- vừa được xem lúc

C# in 100 Seconds

C# or C-Sharp is the programming language behind .NET (dotnet) and the Unity framework.

0 0 45

- vừa được xem lúc

Xử lý input cho multiplatform trong Unity

Tiêu đề nghe thực sự khá nguy hiểm nhưng đây là một kinh nghiệm mình học hỏi được qua quá trình thực hiện các project cần support nhiều platform (PC, WebGL, Mobile). Việc handle input của các platform

0 0 28

- vừa được xem lúc

UGS CLI - Install & Usage [English]

in this post, we will learn what UGS CLI do and how to install, run, login and authenticate for UGS CLI. The Unity Gaming Services (UGS) CLI is a unified command line interface tool for gaming service

0 0 33

- vừa được xem lúc

UGS CLI - Cài đặt và các lệnh sử dụng cơ bản

Ở trong bài viết này, mình sẽ nói về UGS CLI, cách đăng nhập vào service account bằng CLI để có thể sử dụng cho các service khác yêu cầu CLI. Hiểu sơ qua về UGS CLI thì nó là 1 cmd tool để hỗ trợ các

0 0 20