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

    Hiện Thực Game Zero Với Unity - Phần 1 - Nhận Sự Kiện Button

    Hướng Dẫn Hiện Thực Game Zero Với Unity. Thiết lập môi trường phát triển và hiện thực hai button chính trong GameScene.

    Rye Nguyen

    09/08/2015
    30/09/2020
    4 phút đọc
    Hiện Thực Game Zero Với Unity - Phần 1 - Nhận Sự Kiện Button

    Bài viết nằm trong chuỗi Hướng Dẫn Hiện Thực Game Zero Với Unity, cung cấp kiến thức trong việc xây dựng 1 game trên Unity, đồng thời biết cách tổ chức project hiệu quả trong Unity.

    Ở phần 1 sẽ hướng dẫn thiết lập môi trường phát triển và hiện thực 2 button chính trong phần GameScene.

    Khởi tạo project và setup môi trường làm việc

    Không gian game là 2D nên sẽ tạo 1 project Unity 2D.

    Trong hướng dẫn có import package Visual Studio 2015 Tools For Unity để thao tác với script bằng Visual Studio 2015.

    Có thể sử dụng MonoDevelop thay thế hoặc tải package tại link cuối bài viết. Bộ resources sử dụng trong bài viết thuộc sở hữu của STDIO. Có thể tải về bộ resource tại STDIO_ZeroResources.

    Sau khi tải về, giải nén và copy tất cả vào đường dẫn $ProjectDir/Assets/Resources. Nếu folder Resources chưa tồn tại thì hãy tự tạo ra nó.

    ss_1

    Ngoài ra, toàn bộ sprite đều được tích hợp vào spritesheet với định dạng riêng của Unity. Cần import thêm package TexturePacker Importer để làm việc với bộ resources. Package yêu cầu phiên bản Unity 4.5.0 hoặc cao hơn.

    https://www.assetstore.unity3d.com/en/#!/content/16641

    Game Zero hướng dẫn trong bài viết là phiên bản mobile, do đó cần điều chỉnh lại trong Build Setting và trong cửa sổ Game với kích thước màn hình dọc. Chọn nền tảng Android và độ phân giải màn hình WVGA Portrait (480x800) như sau:

    Bấm Ctrl + Shift + B hoặc chọn menu File → Build Setting.

    Chọn nền tảng Android → Switch Platform.

    ss_2

    Tại cửa sổ Game, chọn độ phân giải màn hình như trong hình dưới.

    ss_3

    Đến đây cơ bản đã chuẩn bị xong môi trường làm việc với game Zero.

    Tạo background

    Mã màu background của game Zero là 1DE9B6FF. Thay đổi màu background tại Main Camera như sau:

    ss_4

    Tạo thêm 1 đối tượng UI Image để gắn BoardGame như sau:

    ss_5

    BoardGame được tạo ra sẽ nằm trong 1 Canvas. Thiết lập Canvas để render theo camera. Nhờ đó mà các đối tượng UI sẽ luôn nằm trên màn hình hiển thị. Ngoài ra, thay đổi UI Scale Mode thành Scale With Screen Size với Reference Resolution (độ phân giải gốc để scale khi kích thước màn hình game thay đổi) là 480x800. Khi phóng lớn hay thu nhỏ cửa sổ Game thì các đối tượng sẽ được scale lại tương ứng.

    ss_6

    Tạo Button

    2 button Right và Wrong sử dụng trong gameplay là UI Button. Tạo ra 2 button như sau:

    Button Right.

    ss_7

    Button Wrong.

    ss_8

    Sử dụng Transition là Sprite Swap với resource có sẵn trong Spritesheet. Ngoài ra, gắn tag "Button" cho 2 button này để tiện quản lý. Thông số về vị trí của 2 button, có thể tuỳ chỉnh cho vừa mắt hoặc sử dụng thông số thiết lập sẵn.

    Tạo script nhận sự kiện button click

    Để nhận sự kiện khi click chuột, sử dụng event OnClick được tích hợp sẵn vào mỗi button. Viết 1 script với ngôn ngữ C# để kiểm tra sự kiện OnClick và Debug ra màn hình Console như sau (ButtonManager.cs):

    using UnityEngine;
    using Stdio;
    
    public class ButtonManager : MonoBehaviour
    {
           public void CheckAnswer()
           {
                  if(gameObject.name == "BtnRight")
                  {
                         Static.S_Debug("Button Right clicked");
                  }
                  else
                  {
                         Static.S_Debug("Button Wrong clicked");
                  }
           }
    }

    Mỗi button khi click chuột sẽ gọi đến hàm CheckAnswer trong script. Lưu ý thuộc tính public của hàm để có thể tham chiếu đến hàm trong sự kiện OnClick.

    ss_9

    Hàm Static.S_Debug được định nghĩa như sau (Statics.cs):

    using UnityEngine;
    
    namespace Stdio
    {
           static class Static
           {
                  public static void S_Debug(object message)
                  {
                         if (Debug.isDebugBuild)
                               Debug.Log(message);
                  }
           }
    }

    Lớp Static sẽ sử dụng xuyên suốt trong chuỗi bài viết để quản lý game được thuận tiện và hiệu quả hơn. 

    Download Project

    STDIO_ZeroUnity-1

    Bài chung series

    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

    Hiện Thực Game Zero Với Unity - Phần 2 - Hiện Thực Gameplay
    Hướng Dẫn Hiện Thực Game Zero Với Unity. Giới thiệu và hướng dẫn xây ...
    Hiện Thực Game Zero Với Unity - Phần 4 - Scene Và Popup
    Hướng Dẫn Hiện Thực Game Zero Với Unity. Thiết kế hệ thống scene và ...

    Khám phá

    Hiện Thực Game Zero Với Unity - Phần 3 - Điểm Số Và Progress Timer
    Hướng Dẫn Hiện Thực Game Zero Với Unity. Hướng dẫn cài đặt tính năng ...
    Hiện Thực Game Zero Với Unity - Phần 5 - Âm Thanh Và Effect
    Hướng Dẫn Hiện Thực Game Zero Với Unity. Hướng dẫn các hiệu ứng âm thanh ...
    Hướng Dẫn Viết Game Zero Với Cocos2d-x - Phần 8: Hiện thực GameScene - Xử lý sự kiện trong game
    Hướng dẫn cách nhận các sự kiện từ người chơi và xử lý chúng theo logic ...
    Hướng Dẫn Viết Game Zero Với Cocos2d-x - Phần 7: Hiện thực GameScene - Button
    Hướng dẫn gắn thêm các button vào game, và hiện thực hàm resetButton cho ...
    Hiện Thực Menu Select Level với Scroll Rect
    Hiện thực level select với thành phần Scroll Rect trong Unity.
    Hướng Dẫn Viết Game Zero Với Cocos2d-x - Phần 2: Hiện Thực LoadScene
    Hướng dẫn cách để hiện thực một scene trong game, cũng như cách để ...
    Hướng Dẫn Viết Game Zero Với Cocos2d-x - Phần 9: Hiện thực GameScene - Điểm Số
    Hướng dẫn cách hiện thực GameScene, cách tính điểm và update điểm số lên ...
    Phát Triển Game Funny Halloween Pumpkins với Cocos2d-x - Phần 1
    Hướng dẫn làm game cụ thể bằng Cocos2d-x với code mẫu và game mẫu.
    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