本文へスキップ
Unity गाइड

Event-driven game डिजाइन ka शुरुआती मार्गदर्शिका

Input, collision, UI aur progression ko events ke around organize karne ka व्यावहारिक intro jo logic ko पढ़ने योग्य rakhta hai.

公開日: 2026-06-26#Unity#Event#Architecture#यूआई#शुरुआती

Quick Start

Chhote working version se shuru karein

Input, collision, UI aur progression ko events ke around organize karne ka व्यावहारिक intro jo logic ko पढ़ने योग्य rakhta hai. इस विषय को समझने का अच्छा तरीका सब कुछ एक साथ याद करना नहीं है। पहले यह देखें कि किस चीज पर ध्यान देना है, कौन सा छोटा प्रयोग करना है, और सही परिणाम कैसा दिखेगा।

Chhote code parts jodiye

1. 値を用意する

Inspectorで変更できる値と表示先を置きます。

EventDrivenTutorial.cs
csharp
    [SerializeField] private TextMeshProUGUI statusText;
    [SerializeField] private float eventCount = 1f;
    [SerializeField] private float listenerCount = 2f;
    [SerializeField] private float lastEventId = 3f;

2. 状態を変える

ボタンを押した時に、1つだけ状態を進めます。

EventDrivenTutorial.cs
csharp
    public void NextStep()
    {
        step = (step + 1) % 3;
        var label = step == 0 ? "イベントを送る" : step == 1 ? "受け取る" : "UIを更新する";
        if (statusText != null)
        {
            statusText.text = $"{label}\neventCount={eventCount:0.##}\nlistenerCount={listenerCount:0.##}\nlastEventId={lastEventId:0.##}";
        }

3. 画面に表示する

変わった結果を画面に出して確認します。

EventDrivenTutorial.cs
csharp
        if (statusText != null)
        {
            statusText.text = $"{label}\neventCount={eventCount:0.##}\nlistenerCount={listenerCount:0.##}\nlastEventId={lastEventId:0.##}";
        }
        Debug.Log($"イベント駆動の状態連携: {label}");

Complete script

EventDrivenTutorial.cs
csharp
using UnityEngine;
using TMPro;

public class EventDrivenTutorial : MonoBehaviour
{
    [SerializeField] private TextMeshProUGUI statusText;
    [SerializeField] private float eventCount = 1f;
    [SerializeField] private float listenerCount = 2f;
    [SerializeField] private float lastEventId = 3f;

    private int step;

    public void NextStep()
    {
        step = (step + 1) % 3;
        var label = step == 0 ? "イベントを送る" : step == 1 ? "受け取る" : "UIを更新する";
        if (statusText != null)
        {
            statusText.text = $"{label}\neventCount={eventCount:0.##}\nlistenerCount={listenerCount:0.##}\nlastEventId={lastEventId:0.##}";
        }
        Debug.Log($"イベント駆動の状態連携: {label}");
    }
}

Inspector

Inspector mein UI reference connect karke button se har change check kijiye.

सारांश

क्या याद रखना है

Input, collision, UI aur progression ko events ke around organize karne ka व्यावहारिक intro jo logic ko पढ़ने योग्य rakhta hai.

आगे क्या पढ़ें