我一直在嘗試使用反射一段時間現在,可悲的是我的努力導致我的錯誤,我想要做的是從另一個腳本獲取整數的字段,並改變它,這裏是我的代碼:我無法弄清楚如何使用反射SetValue
我的第一個劇本
using UnityEngine;
using System.Collections;
public class GameInformation : MonoBehaviour
{
void Awake()
{
DontDestroyOnLoad(transform.gameObject);
}
//1 is bought while 0 is not bought
public static int TipJar;
}
我的第二個腳本
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System.Collections.Generic;
using System;
public class Upgrades : MonoBehaviour
{
public GameInformation gio;
void Start()
{
gio = GameObject.Find("lol").GetComponent<GameInformation>();
Type myClassType = gio.GetType().GetField("TipJar").SetValue(gio, 1, null); //<-- Error
}
}
任何想法?對不起,問一個nooby的問題,我仍然在學習如何編程和提前致謝!
我真的建議不要使用靜態和/或公共領域。 –
@ErikPhilips我在forloop裏面這樣做,我不想一一寫出參考,但是謝謝你的回覆。 – OddTuna