
오늘 작업내용
인게임 코드와 유니티 기본 틀 간단 제작
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class UI : MonoBehaviour
{
// -메인 화면-
// 시작, 나가기
// 설정
// -스테이지 선택-
// 스테이지 선택
// 뒤로가기
// 설정
// -인게임-
// 체력바 표시
// 점수 표시
// 일시정지 표시
// 슬라이딩, 점프 표시
// -게임 종료-
// 다시하기, 나가기
// 점수
// 인게임UI
#region
TextMeshProUGUI currentScoreText; // 현재 점수
TextMeshProUGUI bestScoreText; // 최고 점수
SpriteRenderer hpBar; // 체력
//Button stopButton; // 일시 정지
Button jumpButton; // 점프 버튼
Button slidingButton; // 슬라이딩 버튼
private void Start()
{
Init();
TestUI(); // UI 연결 테스트 함수 호출
}
public void Init()
{
// 컴포넌트와 연결
Transform canvasTransform = transform.Find("Canvas");
if (canvasTransform == null)
{
Debug.Log("Canvas 오브젝트를 찾을 수 없습니다!");
return;
}
currentScoreText = canvasTransform.transform.Find("CurrentScoreText").GetComponent<TextMeshProUGUI>();
if (currentScoreText == null)
{
Debug.LogError("ScoreText 오브젝트에 TextMeshProUGUI 컴포넌트가 없습니다!");
}
bestScoreText = canvasTransform.transform.Find("BestScoreText").GetComponent<TextMeshProUGUI>();
//hpBar = transform.Find("HpBar").GetComponent<SpriteRenderer>();
//stopButton = transform.Find("StopButton").GetComponent<Button>();
jumpButton = canvasTransform.transform.Find("JumpButton").GetComponent<Button>();
if (jumpButton == null)
{
Debug.LogError("jumpingButton 오브젝트에 Button 컴포넌트가 없습니다!");
}
slidingButton = canvasTransform.transform.Find("SlidingButton").GetComponent<Button>();
/* jumpButton.onClick.AddListener(OnClickJumpButton)*/;
if (jumpButton != null)
{
jumpButton.onClick.AddListener(OnClickJumpButton);
}
slidingButton.onClick.AddListener(OnClickSlidingButton);
}
public void SetUI(int currentscore, int bestscore)
{
currentScoreText.text = currentscore.ToString();
bestScoreText.text = bestscore.ToString();
}
private void OnClickJumpButton()
{
Debug.Log("점프");
}
private void OnClickSlidingButton()
{
Debug.Log("슬라이딩");
}
private void TestUI()
{
Debug.Log("UI 연결 테스트 시작...");
if (currentScoreText != null)
{
Debug.Log("CurrnetScoreText 연결 성공!");
currentScoreText.text = "0"; // 초기값 설정
}
else
{
Debug.LogError("CurrnetScoreText 연결 실패!");
}
if (bestScoreText != null)
{
Debug.Log("BestScoreText 연결 성공!");
bestScoreText.text = "0"; // 초기값 설정
}
else
{
Debug.LogError("BestScoreText 연결 실패!");
}
if (jumpButton != null)
{
Debug.Log("점프 버튼 연결 성공!");
}
else
{
Debug.LogError("점프 버튼 연결 실패!");
}
if (slidingButton != null)
{
Debug.Log("슬라이딩 버튼 연결 성공!");
}
else
{
Debug.LogError("슬라이딩 버튼 연결 실패!");
}
Debug.Log("UI 연결 테스트 완료.");
}
#endregion
}
오늘 수준별 강의에서 튜터님이 Debug.Log를 적극 활용하라고 하셨다.
Debug.Log를 사용하면 어디서 문제가 생겼는지
잘 연결 되었는지, 작동하는지 확인할 수 있다.
점프버튼과 슬라이딩 버튼이 연결이 잘 안되어 에러가 발생했는데
이왕 검사하는 김에 다른 코드에서도 문제가 없는지 확인하기 위해 사용하였다.