目前我正在試圖以我的相機鎖定到地圖我在Unity3D使用此代碼是從JavaScript轉換做:統一:不能修改`值類型返回值UnityEngine.Transform.position」
transform.position.z = Mathf.Clamp(transform.position.z, zmin, zmax);
transform.position.x = Mathf.Clamp(transform.position.x, xmin, xmax);
但團結不斷在編譯時返回以下錯誤:error CS1612: Cannot modify a value type return value of 'UnityEngine.Transform.position'. Consider storing the value in a temporary variable.
該腳本並不打算修改相機的位置。它的意思攝像機限制爲最大/最小X和Z值 – HMT
在你的代碼說「transform.position.z的新值Mathf.Clamp(transform.position.z,ZMIN,ZMAX)」,但改造。 position.z是原始transform.position座標的副本,因爲它是值類型,並且按值複製。 夾緊位置(和在統一腳本參考也使用)的正確方法: > transform.position =新的Vector3(Mathf.Clamp(transform.position.x,XMIN,XMAX),0,Mathf.Clamp(transform.position .x,xmin,xmax);); –
謝謝,我設法使用上面的腳本將相機夾在地圖上,我不得不修改它一下。但它的作品:D – HMT