STDIO
Tìm kiếm gần đây
    • Nội dung
    • QR Code
    • 0
    • 0
    • Sao chép

    Khởi Tạo Đối Tượng trong Runtime

    Hướng dẫn thao tác khởi tạo đối tượng trong Runtime - thời điểm chạy game với Unity.

    Rye Nguyen

    08/08/2015
    25/09/2020
    2 phút đọc
    Khởi Tạo Đối Tượng trong Runtime

    Giới thiệu

    Trong nhiều trường hợp, việc khởi tạo đối tượng mà không khai báo trước khi chạy chương trình là điều cần thiết. Chẳng hạn khi cần load bản đồ mới vào thế giới game khi người chơi đã vượt qua mức độ hiện tại, không thể load toàn bộ các bản đồ lên bộ nhớ trước vì như thế sẽ tốn kém tài nguyên, giảm hiệu suất của game.

    Giải pháp đặt ra là chỉ load những đối tượng cần thiết, khi không sử dụng sẽ giải phóng vùng nhớ để tiết kiệm tài nguyên, các đối tượng chưa sử dụng sẽ được khởi tạo sau trong khi đang chạy chương trình.

    Resources folder

    Resources là 1 folder đặc biệt của Unity cho phép truy cập các tài nguyên sử dụng trong game thông qua tên và đường dẫn của file, bên cạnh thao tác kéo thả (drag-and-drop) trong Unity Editor.

    Resources folder có thể hiểu là Working Directory trong Unity, nếu 1 asset được đặt trong Resources folder, chúng có thể được truy xuất bởi hàm Resources.Load thông qua đường dẫn tương đối đến nó.

    Runtime Unity Resources

    Load tài nguyên với Resources.Load

    Phương thức Load thuộc class Resources nhận vào giá trị là đường dẫn đến vị trí của asset trong project. Nếu asset tồn tại tại đường dẫn, phương thức sẽ trả về asset đó dưới dạng Object.

    Ví dụ sau giúp hiểu rõ về cách sử dụng phương thức này cũng như tầm quan trọng của Resources folder:

    Khởi tạo đối tượng Runtime trong Unity

    Thực hiện load file sfx_stdio_logo.mp3 bằng 1 trong 3 cách như sau:

    Object object = Resources.Load("SFX/sfx_stdio_logo");
    AudioClip stdioLogo = Resources.Load("SFX/sfx_stdio_logo") as AudioClip;
    AudioClip stdioLogo2 = Resource.Load<AudioClip>("SFX/sfx_stdio_logo");
    • Dòng 1: load file âm thanh vào đối tượng object, khi cần sử dụng để gắn vào 1 AudioSource, thực hiện ép kiểu sang AudioClip để sử dụng.
    • Dòng 2: ép kiểu tường minh ngay sau khi tài nguyên đã được load bằng từ khoá as Type, đối tượng sẽ được tự động ép kiểu sang Type và được lưu trữ trong 1 biến cùng kiểu.
    • Dòng 3: đây là cú pháp sử dụng template, do đó nó sẽ trả về đúng đối tượng cần tìm với kiểu dữ liệu cần thiết.

    * Tất cả các đường dẫn của asset đều sử dụng dấu / để phân chia các thư mục, đường dẫn sử dụng dấu \ sẽ không hoạt động và không tìm được asset.

    Instantiate

    Instantiate là hàm được sử dụng để clone 1 đối tượng được xây dựng sẵn, đối tượng này có thể là 1 GameObject, component hay là các tài nguyên được load trực tiếp từ Resources.

    0 Bình luận
    Lập Trình Game

    Lập Trình Game

    Kiến thức, kỹ thuật, kinh nghiệm lập trình game.

    Đề xuất

    Các Phương Thức Khởi Tạo Đối Tượng trong C++
    Giới thiệu và hướng dẫn sử dụng 3 phương pháp khởi tạo đối tượng với ...
    15/09/2014
    Chipmunk - Phần 6: Tạo Physics Body Cho Các Đối Tượng Có Hình Dạng Phức Tạp
    Kĩ thuật tạo Physics Body cho các đối tượng có hình khối phức tạp trong ...

    Khám phá

    Hàm Tạo Mặc Định trong Lập Trình Hướng Đối Tượng
    Phân tích sự khác biệt giữa hàm tạo mặc định và hàm tạo không đối số ...
    Thành Phần Hoá Các Đối Tượng Trong Game Với Cocos2d-x
    Hướng dẫn thành phần hoá các đối tượng trong game với Cocos2d-x
    UI - Phần 1: Khái Niệm Và Một Số Đối Tượng Để Thiết Kế UI Trong Cocos2d-x 3.x.x
    Tìm hiểu về khái niệm UI và các đối tượng thiết kế UI trong Cocos2d-x ...
    Quản Lý Vị Trí Các Đối Tượng trong Game
    Cấu hình vị trí của các đối tượng trong Game để quản lý game đa màn ...
    Sự Ra Đời Của Phương Thức Khởi Tạo (Constructor), Phương Thức Hủy (Destructor) Trong Một Class - C++
    Tìm hiểu về phương thức khởi tạo (Constructor) và phương thức hủy ...
    12/09/2014
    Lập Trình Hướng Đối Tượng Trong Python  - Phần 1: Cơ Bản
    Đặc điểm và cách hiện thực lập trình hướng đối tượng trong Python.
    29/03/2015
    SOLID trong Lập Trình Hướng Đối Tượng
    SOLID trong lập trình hướng đối tượng có giá trị như thế nào trong việc ...
    Khi bạn nhấn vào liên kết sản phẩm do STDIO đề xuất và mua hàng, STDIO có thể nhận được hoa hồng. Điều này hỗ trợ STDIO tạo thêm nhiều nội dung hữu ích. Tìm hiểu thêm.
    STDIO
    Trang chính
    Công ty TNHH STDIO

    30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
    +84 28.36205514 - +84 942.111912
    developer@stdio.vn

    383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
    Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012

    ©STDIO, 2013 - 2020