Hierarchy에 캐릭터 UI Image를 만듭니다.


에셋을통해 불러온 Idle 이미지를 넣고 Animator를 적용 시킨후 저는 Join이라는 버튼과 함께 Main Scene으로 넘길 예정이므로 같이 넣었습니다.
캐릭터 스크립트 만들고 넣기
public class PlayerName : MonoBehaviour
{
[SerializeField] private InputField playerNameInput;
private string playerName;
public void StartGame()
{
playerName = playerNameInput.text;
if (!string.IsNullOrEmpty(playerNameInput.text))
{
PlayerPrefs.SetString("playerName", playerName);
SceneManager.LoadScene("MainScene");
}
}
public void ChoicePenguin()
{
PlayerPrefs.SetInt("PlayerType", 0);
}
public void ChoiceBox()
{
PlayerPrefs.SetInt("PlayerType", 1);
}
}
Set Int로 번호를 저장, 후에 Main Scene에서 적용시킬 스크립트에 불러옵니다.
public class GameManager : MonoBehaviour
{
public Text playerNameText;
[SerializeField] private GameObject penGuin;
[SerializeField] private GameObject box;
[SerializeField] private SpriteRenderer playerSprite;
void Start()
{
string playerName = PlayerPrefs.GetString("playerName");
if (PlayerPrefs.GetInt("PlayerType") == 0)
{
penGuin.SetActive(true);
}
else
{
box.SetActive(true);
}
playerNameText.text = playerName;
}
같이 넘겨받은 이름과 함께 if 조건을 걸고 Set Int해놓은 번호를 Get Int로 넘겨받습니다.
그렇게 하면 저장되있는 값이 넘어올것이고 이름과 캐릭터를 Main Scene이 호출할것입니다.

public class TopDownAimRotation : MonoBehaviour
{
[SerializeField] private SpriteRenderer characterRnderer1;
[SerializeField] private SpriteRenderer characterRnderer2;
private TopDownController controller;
private void Awake()
{
controller = GetComponent<TopDownController>();
}
void Start()
{
controller.OnLookEvent += OnAim;
}
private void OnAim(Vector2 direction)
{
RotateArm(direction);
}
private void RotateArm(Vector2 direction)
{
float rotZ = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
characterRnderer1.flipX = Mathf.Abs(rotZ) > 90f;
characterRnderer2.flipX = Mathf.Abs(rotZ) > 90f;
}
}
위에 코드는 마우스 방향으로 보는 OnLook기능의 일부입니다.
저는 Sprite에 gameObject를 할당시키는 법을 몰라 그저 두개를 만들어 각각에 할당시키는 방향으로 했습니다.
오늘 회고
숙달될때까지 반복시키는게 중요하다고는 생각합니다만 확실히 C#을 사용할떄 코드와 Unity를 사용할떄 쓰는 코드가 달라 당혹스럽긴하지만 다시 적응해나아가야겠죠...
'스파르탄캠프 > 본격적인 캠프' 카테고리의 다른 글
| 3D 러닝게임 도전-캠프 (0) | 2024.06.13 |
|---|---|
| 스파르타캠프 Unity 피하기 게임 : 충돌 Object (1) | 2024.05.21 |
| 스파르타캠프 Unity 강의 시작 (0) | 2024.05.11 |
| 캠프노베이스의 게임개발(본 캠프) Text RPG 마지막! (0) | 2024.05.09 |
| 노베이스의 게임개발(본 캠프) Text RPG 팀 협업 진행 3탄 (0) | 2024.05.03 |