처음 질문하는 동안 실수로이 질문을 다시하고 있습니다. 그래서 여기에 우리가 간다. 나는 Unity3d를 사용하여 Pokémon fangame에서 일하고 있습니다. 현재 건강 바에 종사하고 있습니다. 문제는 별도의 게임 객체에 첨부 된 변수의 값을 찾을 수 없다는 것입니다. 여기에 작동하지 않는 내 코드의 일부는 다음과 같습니다Unity3D- 다른 게임 객체 변수의 값을 얻을 수 없습니다.
public Pokemon opponent;
public GameObject opponentTemp;
InitiateBattle opponentObject = opponentTemp.GetComponent<InitiateBattle>();
print (opponentObject);
opponent = opponentObject.PokemonToCatch;
print (opponent.Name);
TheirSlider.maxValue = opponent.Hp;
TheirSlider.value = opponent.CHp;
(참고 :.. 마력과 CHP 나는 당신이에 대한 정보가 필요하면 내가 당신에게 몇 가지 문서를주지 만든 클래스의 부분이다)
내가 액세스하려는 대상은 opponentObject.PokemonToCatch
입니다. 나는 그것을 참조하려고 할 때 아무것도 얻지 못한다. 다른 게임 개체의 스크립트 (이 질문의 제목)에서이를 참조하려고합니다. 그래도 내 스크립트의이 부분에서 작동하는 것 같습니다.
UserParty = GameObject.Find ("UserData");
Party holdingPokemon = UserParty.GetComponent<Party>();
MySlider.maxValue = holdingPokemon.currentPokemon [0].Hp;
MySlider.value = holdingPokemon.currentPokemon [0].CHp;
나에게도 마찬가지입니다. 이쪽을 제외하고, 이것은 내가 찾을 수있는 모든 것입니다.
WildPokemon PokemonEncounter = NativePokemon.GetComponent<WildPokemon>();
public Pokemon PokemonToCatch;
for (int i = 0; i < 4; i++){
//print (i);
if (PokemonEncounter.CatchablePokemon [i].Find == GrassDat.TG){
print ("hit");
AvaliablePkmn.Add (PokemonEncounter.CatchablePokemon [i]);
//AvaliablePkmn [i] = PokemonEncounter.CatchablePokemon [i];
}
}
print (AvaliablePkmn.Count);
int number = Random.Range(0, (AvaliablePkmn.Count + 1));
PokemonToCatch = AvaliablePkmn [number];
print ("PokemonToCatchName:" + PokemonToCatch.Name);
//print (PokemonToCatch.Model);
PokemonToCatch.Model.transform.position = new Vector3 (30, 0, 5);
PokemonToCatch.Model.transform.Rotate (0, 250, 0);
내가 스크립트에서 opponentObject.PokemonToCatch
에 액세스하기 위해 노력하고있어,이를 요약하면, 아무것도 찾을 수 없습니다되고있다 : 당신이 PokemonToCatch
변수에 대한 코드를 원하는 경우 , 여기 있습니다. 그것은 비어 있습니다.
미리 감사드립니다.
질문을 올바르게하는 법을 배워야합니다. ** "문제는 개별 게임 개체에 연결된 변수의 값을 찾을 수 없다는 것입니다."** 어떤 변수가 있습니까? 어떤 게임 개체입니까? 그 변수는 내부의 어떤 스크립트입니까? – Programmer
귀하의 질문에 약간의 정보가 있습니다. 문제가있는 코드 부분 만 게시 할 수 있습니까? 또한 GameObjects가 설치되고 스크립트가 첨부 된 방법에 대한 일부 screengrab은이를 지우는 데 도움이 될 수 있습니다 –
'public Pokemon opponent; 공개 GameObject opponentTemp; InitiateBattle opponentObject = opponentTemp.GetComponent(); 인쇄 (opponentObject); 상대 = opponentObject.PokemonToCatch; 인쇄물 (상대방 이름); TheirSlider.maxValue = 상대방 .Hp; TheirSlider.value = 상대.CHp;' 내가 구체적으로 문제가되는 부분입니다. –
Procinogen