2013-10-02 3 views
0

C#에서 Unity3D로 코딩 중이며 기본적인 질문이 있습니다. 다음 코드는, 내가이 경우 코드의 서면 세 줄을 항상 실행 할 몬스터의 상태를 설정하고 객체 "몬스터"의 루프 어딘가에 코드에서UNITY3D : 루프에서 동일한 값을 할당하는 것이 효율적입니까?

if (monster == ENEMY.DEAD) 
    isHidden = true; 
    hideMe(); 

에 나타납니다.

1) Unity의 컴파일러는 상태 변경이 없음을 알기에 충분히 똑똑합니까?

2) 또는 상태를 변경하는 나쁜 방법입니까?

PS : hideMe()는 모든이 오브젝트

+0

나에게 묻는다면 "hideMe (monster == ENEMY.DEAD)"와 같은 하나의 메소드에 필요한 경우 매개 변수를 함수에 전달합니다. –

답변

2

1) 제 2) 예에 대한 중요한 객체 비활성화, isHidden가 true로 설정되어 있는지 검사하는 기능이다. 다른 물건에 물건을하지 마십시오. 이벤트를 보내고 그에 따라 다른 MonoBehaviours가 반응하도록합니다. 코드를 분리하십시오.

+0

메시지를 보낼 때도 상태를 변경하는 것과 같습니다. 변경 사항을 업데이트해야합니다. 업데이트() {} – user1767754

+0

아니요. 이벤트가 발생하면 Update에서 실행중인 위임자를 변경하십시오. – Jessy

관련 문제