공부하기싫어
article thumbnail

3월 27일 오전 8시30분 포스팅 시작

 

오늘은 피통 구현, 왼쪽 하단에 채팅창 구현, 왼쪽 상단에 1분 타이머 구현, r키 재시작 구현 을 해보자

 

  • 체력바

일단 체력바에 쓸 스프라이트를 구해야 하는데

https://www.youtube.com/watch?v=IIjpe-7y_xs 

이분 영상을 보니 그냥 유니티 안에 있는 기능으로도 할 수 있을것 같아서

로아에서 스샷으로 대충 가져왔다.

 

그림판으로 오려냄 ㅋㅋ

저 위에 체력에다가 만들어 보자

 

https://learn.unity.com/tutorial/bijueol-hyogwa-guhyeon-sayongja-inteopeiseu-hedeueob-diseupeulrei?uv=2020.3&projectId=5dcdc49dedbc2a00206ce6b0

 

비주얼 효과 구현 – 사용자 인터페이스 – 헤드업 디스플레이 - Unity Learn

지금까지 메인 캐릭터가 다쳤을 때 Debug.Log를 사용하여 현재 체력 수준을 출력했습니다. 하지만 플레이어에게는 콘솔 창이 없으므로 게임에서 로그를 볼 수 없습니다. 따라서 피드백을 제공하기

learn.unity.com

 

ui가 카메라를 따라다녀야 하니

위에 학습했던 내용을 참고해서

적용해보자

 

앵커 적용

 

흠...

 

??

슬라이더로 해보려니까 변화가 없다...

그냥 이미지로 다시 해봐야 할듯

 

좋았다

유니티 학습 보고 구현했다.

 

uihealthbar.cs

public class UIhealthBar : MonoBehaviour
{

    public static UIhealthBar instance { get; private set; }
   
    public Image mask;
    float originalSize;

    void Awake()
    {
        instance = this;
    }

    void Start()
    {
        originalSize = mask.rectTransform.rect.width;
    }

    public void SetValue(float value)
    {                    
        mask.rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, originalSize * value);
    }
}

 

instance 로 해가지고 

 

player.cs

public void ChangeHealth(int amount)
    {
        player_current_health = Mathf.Clamp(player_current_health + amount, 0, player_max_health);
        UIhealthBar.instance.SetValue(player_current_health / (float)player_max_health);
    }

    public void falling() {
        player_current_health=0;
        UIhealthBar.instance.SetValue(player_current_health / (float)player_max_health);
    }

player 스크립트에서 쉽게 불러올 수 있었다

 

 

  • 타이머

생각보다 간단했다

https://unitybeginner.tistory.com/47

 

유니티 심플한 초단위 타이머만들기

안녕하세요 유니티 비기너입니다. 이번 시간에는 간단한 초단위 타이머를 만드는 방법에 대해 알아보겠습니다. 결과 화면 한눈에 보기 1. UI Text를 생성합니다. 2. Timer 스크립트를 작성합니다. 3..

unitybeginner.tistory.com

친절하게 설명해주셔서 따라했다

코드도 그대로 가져다 썻고 max 만 바꿔줬다.

 

 

  • r키 재시작

간단하게 구현할 수 있었다.

 

https://textbox.tistory.com/78

 

[Unity] 유니티 게임에서 정지, 계속, 재시작, 게임종료

해당 개발 해 놓은것에 대해서 다른곳에서도 지속적으로 사용될 것 같으니 기록해 두자. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; p..

textbox.tistory.com

빈 오브젝트를 만들고

 

public class restart : MonoBehaviour
{
    public string thisScene;
    // Start is called before the first frame update
    void Start()
    {
       
    }

    // Update is called once per frame
    void Update()
    {
       
    }

    public void ReStart() {
        thisScene=SceneManager.GetActiveScene().name;
        Time.timeScale=1f;
        SceneManager.LoadSceneAsync(thisScene);
    }
}
 

이렇게 입력해주고

player.cs 에서

if (Input.GetKeyDown(KeyCode.R)) {
            restart.GetComponent<restart>().ReStart();
            Debug.Log("restart");
        }

이렇게 호출해줬다.

굿

 

  • 채팅창

간단하게만 해보자

ㅋㅋ

좀 잘한듯?

ㅋㅋ

 

오늘 끝!

 

 

오래걸릴줄 알았는데 다 금방금방 끝내서 좋았다

오늘은 뭐랑 술먹을까나

8시에 리버풀 경기있던데 치킨이나 시켜먹을깡