플레이어 이름과 체력값을 보여주는 UI만들기
생성하는 부분은 원본글을 따라 만들면 될 것.
UI 프리팹의 생성
1 2 3 4 5 6 7 8 9 | if (PlayerUiPrefab!=null) { GameObject _uiGo = Instantiate(PlayerUiPrefab) as GameObject; _uiGo.SendMessage ("SetTarget", this, SendMessageOptions.RequireReceiver); } else { Debug.LogWarning("<Color=Red><a>Missing</a></Color> PlayerUiPrefab reference on player Prefab.",this); } | cs |
PlayerManager의 Start()에 넣어 플레이어가 생성될때 UI도 같이 생성되게한다.
SendMessage()를 통해 SetTarget 함수를 실행함.
(https://docs.unity3d.com/ScriptReference/GameObject.SendMessage.html)
UI 캔버스로 Parenting
1 2 3 4 | private void Awake() { this.GetComponent<Transform>().SetParent(GameObject.Find("Canvas").GetComponent<Transform>()); } | cs |
유니티에서 UI요소들은 캔버스 안에 있어야 하므로 생성하면 awake에서 Canvas의 자식으로 넣어줌.
타겟플레이어 따라가기
1 2 3 4 5 6 7 8 9 | private void LateUpdate() { if(_targetTransform != null) { _targetPosition = _targetTransform.position; _targetPosition.y += _characterControllerHeight; this.transform.position = Camera.main.WorldToScreenPoint(_targetPosition) + ScreenOffset; } } | cs |
SendMessage로 실행한 SetTarget함수가 불려 target과 targetTransform을 잡게되고
LateUpdate()에서 해당 타겟의 좌표를 받아와 스크린좌표로 변경 후 오프셋만큼을 더해 화면에 나타낸다.
일단 튜토리얼은 여기까지인데 조금 더 손을봐야할 부분이 있는것 같아서 테스트해봐야할듯.
'프로그래밍 공부 > Photon' 카테고리의 다른 글
PlayFab을 이용하여 로그인 인증하기 (3) | 2018.08.09 |
---|---|
10. 튜토리얼 문제 해결 (0) | 2018.08.07 |
8. 플레이어 네트워크 인스턴스 생성 (0) | 2018.08.07 |
7. 네트워킹을 위한 플레이어 변경 (0) | 2018.08.07 |
5. 플레이어 만들기 / 6. 플레이어 카메라 동작 (0) | 2018.08.07 |