본문 바로가기

유니티

유니티2D에서 다른 씬에 있는 오브젝트의 변수값을 해당 씬의 오브젝트로 가져와서 계산하는 코드

728x90
반응형

// 현재 씬에서 사용할 변수
private int currentSceneVariable;

// 다른 씬에서 사용할 변수
private int otherSceneVariable;

// 다른 씬으로 이동하는 함수
public void ChangeScene()
{
SceneManager.LoadScene("OtherScene");
}

// 다른 씬에서 현재 씬의 변수를 가져오는 함수
public void GetVariableFromCurrentScene()
{
// 현재 씬에서 오브젝트 찾기
GameObject currentSceneObject = GameObject.Find("CurrentSceneObject");

// 오브젝트의 컴포넌트에서 변수 가져오기
currentSceneVariable = currentSceneObject.GetComponent<CurrentSceneObjectScript>().variable;
}

// 현재 씬에서 다른 씬의 변수를 가져와서 계산하는 함수
public void CalculateWithOtherSceneVariable()
{
// 다른 씬으로 이동
ChangeScene();

// 다른 씬에서 오브젝트 찾기
GameObject otherSceneObject = GameObject.Find("OtherSceneObject");

// 오브젝트의 컴포넌트에서 변수 가져오기
otherSceneVariable = otherSceneObject.GetComponent<OtherSceneObjectScript>().variable;

// 변수 계산
int result = currentSceneVariable + otherSceneVariable;

// 결과 출력
Debug.Log("Result: " + result);
}

이 코드에서는 currentSceneVariable과 otherSceneVariable이라는 두 개의 변수를 사용합니다. ChangeScene() 함수는 다른 씬으로 이동시키는 함수이며, GetVariableFromCurrentScene() 함수는 현재 씬에서 CurrentSceneObject라는 이름의 오브젝트에서 variable 값을 가져오는 함수입니다. CalculateWithOtherSceneVariable() 함수는 ChangeScene() 함수를 호출하여 다른 씬으로 이동하고, 다른 씬에서 OtherSceneObject라는 이름의 오브젝트에서 variable 값을 가져와서 두 변수를 더한 다음, 결과를 출력합니다.

이 코드를 사용하려면 CurrentSceneObjectScript와 OtherSceneObjectScript라는 두 개의 스크립트를 만들어야 합니다. 이 스크립트들은 각각 variable 값을 가지고 있어야 합니다. 또한, CurrentSceneObject와 OtherSceneObject라는 이름의 오브젝트도 각각 생성되어 있어야 합니다.

728x90
반응형