![](/img/trans.png)
[英]How can I use a bool in two scripts to decide if to call a function or not?
[英]How can i use enum to pass variables between two scripts?
第一個腳本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class WallsTest : MonoBehaviour
{
public enum WallsInfo
{
Position, Length
};
// using a GameObject rather than a transform
public GameObject prefab;
public Vector3 wallsStartPosition;
public float width = 0;
public float height = 1;
public float length = 2;
public Camera wallsCamera;
void Start()
{
wallsCamera.transform.position = new Vector3(wallsStartPosition.x, wallsStartPosition.y + 100, wallsStartPosition.z - 235);
WallsInfo.Position = wallsStartPosition;
BuildWalls();
}
然后在另一個位置,我將要使用WallsInfo.Position但我不確定使用枚舉傳遞變量是否是個好主意? 怎么做呢?
該行:
WallsInfo.Position = wallsStartPosition;
給我錯誤:
分配的左側必須是變量,屬性或索引器
我也想使用Length傳遞可變長度
您不需要枚舉,這里需要類或結構。 我打賭一個結構,因為它不能為空。
public struct WallsInfo
{
public Vector3 Position { get; set; }
public float Length { get; set; }
};
另一方面,枚舉用於存儲常量命名值的集合,這些值映射為數字以便更好地組織。 例如,如果您想跟蹤角色是男孩還是女孩。 然后,您可以輸入一個整數,然后說1表示男孩2表示女孩在您的頭上,或者您可以這樣做:
public enum Gender
{
Boy = 1
Girl =2
}
那么很容易有一個可以像這樣存儲男孩或女孩的角色
var gender = Gender.Boy;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.