0

これから数日間、ゲームのデザインと開発の研究を開始しようとしています。時間のためにコツをつかみ始める前に、先に進んでプログラミングへの一歩を踏み出したいと思いました。

ゲーム プロジェクトを作成してから数日後、スクリプト 1 の「PlayerDamageHandler」からスクリプト 2 の「PlayerHealthGUI」への Public Int の「Shield」を呼び出すというばかげた状況に行き詰まりました。 Public Static Shield Intですが、SHIELDをPublic NOT static intにする必要があり、「Shield int」から「static」を削除するたびにコンパイラの警告が表示されます

私はまだ C# プログラミングの世界に足を踏み入れており、見習いとしての自分の状況を理解しています。今回は自分の考えをクリアにするために、マスターが私を支援してくれる必要があります。

(また、プログラミングに夢中になって以来、私は以前の 1/4 の時間睡眠をとっています!)

基本的に、PlyDmghandler から PlyGUI への "Shield" int をどのように呼び出しますか?

public int Shield = "a variable i want to change depending on which player i use it";

int「シールド」をパブリック(非静的)にして、「PlyHealthGUI」から呼び出します

これらは、私が最初の日に作成した最初の c# です (私の最初のコード行、それらは非常に単純です)。

using UnityEngine;
using System.Collections;
public class PlayerDamageHandler : MonoBehaviour {

public bool explosion = false;
public GameObject exp;
public AudioClip expsound;
public float soundvalue = 1f;
public static int Shield = 15;

void OnTriggerEnter2D() {
Shield--;
}

void Update() {
        if (Shield <= 0)
die();
}
void die() {
    Destroy (gameObject);
}
}

そして、これは「Shield」を呼び出してその値をユーザー インターフェイス「Text」にレンダリングする必要がある 2 つ目のスクリプトです。

using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class PlayerHealthGUI : MonoBehaviour {

Text text;

void Start () {
    text = GetComponent <Text>();
}

void Update () {
//The UserInterface Health/Shield used on the scene.
    text.text = ("-(") + PlayerDamageHandler.Shield + (")-");
}
}
4

0 に答える 0