3/26/2014

COOKBOOK - HIỂN THỊ ĐỒNG HỒ ĐẾM NGƯỢC BẰNG GUI LABEL




Trong nhiều game quy định thời gian làm nhiệm vụ hay kiếm thêm điểm thưởng bằng cách quy định một khoảng thời gian nhất định nào đó. Trong bài viết này, mình sẽ hướng dẫn các bạn tạo đồng hồ đếm ngược đơn giản bằng GUI.


Cách để làm

B1. Tạo một project mới và đặt tên là Coundown như hình sau:


B2. Tại thẻ Project, nhấp chọn Create | C# Script và đặt tên là CountdownTimer. Double click vào file C# vừa tạo và chèn đoạn code sau vào rồi save file C# lại:

// file: CountdownTimer.cs
using UnityEngine;
using System.Collections;

public class CountdownTimer : MonoBehaviour {
    private float secondsLeft = 10f;
   
    private void OnGUI(){
        if( secondsLeft > 0)
            GUILayout.Label("Countdown seconds remaining = " + (int)secondsLeft     );
        else
            GUILayout.Label("Countdown has finished");
       
    }
   
    private void Update(){
        secondsLeft -= Time.deltaTime;
    }
}


B3. Kéo thả file C# vừa tạo vào Main Camera ở thẻ Hierarchy.


B4. Ấn nút Play để kiểm tra thành quả.


Nguyên lý làm việc

Với mỗi khung hình được load, biến secondsLeft sẽ bị trừ dần bởi hàm thời gian Time.deltaTime. Khi thời gian nhỏ hơn 0, đồng hồ sẽ ngừng đếm. Giá trị của biến có thể được ép sang kiểu số nguyên một cách dễ dàng bằng cách thêm (int) vào trước tên biến.

No comments:

Post a Comment