私はユニティ5.5を使用していますが、この問題が発生しました。静的なvarがメソッドを終了した後にその値を失った
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class WhatTheHell : MonoBehaviour
{
public static int testVal;
void Awake()
{
SetVal(testVal);
Debug.Log(testVal);
}
void SetVal(int val)
{
val = 10;
}
}
デバッグ結果は10 insted 10です。なぜですか?
あなたのコードで 'static'変数' SetVal'が明示的に初期化されることはなく、デフォルトの '0'を持っています – manish