본문 바로가기
728x90

유니티50

15 1. 3개 체력을 다 소모하면 화면 페이드 아웃 및 게임 정지 2023. 4. 10.
14 1.Attack name 를 가진 오브젝트와 부딪혔을 때 -> 공격을 실행 2.3가지 아이템중 내가 어떤 아이템을 먹게됐는지 확인 3.먹었던 아이템을 특정 키 값을 눌러서 발사 하겠다 2023. 4. 7.
14. 간단 로그라이크 만들기 - 5 상속 -> 제네릭(Generic), 추상메소드, 추상클래스 상속을 받는 다는건 다 쓴다는 것 but 플레이어와 에너미가 다름 -> 제네릭을 만들어서 플레이어의 경우 -wall 로 에너미의 경우 - player로  protected 부모-자식 abstract(추상메소드) - 이름만 존재 -> 내용은 상속을 받은 쪽에서 채운다virtual - override MovingObj 코드 using UnityEngine;using System.Collections;using System;//한번에 한칸만 움직이도록public abstract class MovingObject : MonoBehaviour{ [SerializeField] float moveSpeed; [SerializeField] Layer.. 2023. 4. 6.
14 오늘 목표 1.페이드 아웃 효과 주기 (캔버스 ui이미지 이용) public GameObject FadeOutImage; //페이드 아웃 이미지 private void OnCollisionEnter2D(Collision2D collision) { //플레이어라는 태그를 가진 오브젝트랑 //부딪히면 if (collision.gameObject.tag == "Player") { //페이드 아웃 효과를 줄것이다 //코드는 위에서 아래로 호출한다 FadeOutImage.SetActive(true); StartCoroutine(Fade()); } } //코루틴과 //while 반복문을 통해서 // private IEnumerator Fade() { float fadeOut_A = 0; while (fadeOut_.. 2023. 4. 6.
13. 간단 로그라이크 만들기 - 4 Vector3 중요해  - Magnitude VS sqrMagnitude 의 차이를 알고 적절히 사용 Coroutine 중요해 (-yield 와 짝꿍) 혹시 모르니 Fadeout 스크립트 ↓ void InitGame() { LevelImage = GameObject.Find("LevelImage"); levelText = GameObject.Find("LevelText").GetComponent(); levelText.text = "Day" + level; LevelImage.SetActive(true); StartCoroutine(FadeOut()); Invoke("HideLevelImage", 2); } .. 2023. 4. 5.
13 TODAY'S GOAL 1.몬스터라는 태그를 가진 오브젝트랑 부딪혔을때 체력을 깍인다(플레이어 이미지 색깔) 2.체력아이템 획득시 체력회복 효과 3.오디오 효과 1.몬스터라는 태그를 가진 오브젝트랑 부딪혔을때 체력을 깍인다(플레이어 이미지 색깔) public Image[] PlayerHP_Image; private void OnCollisionEnter2D(Collision2D collision) { if(Coliision.gameobject.tag=="Monster") { this.GetCompontent().Color=Color.red; //일정시간이 지나면 다시 원래 색깔로 돌아온다 //함수를 일정 시간이 지나면 호출하는 함수 //Invoke(); Invoke("changeImage", 0.5f);.. 2023. 4. 5.
12. 간단 로그라이크 만들기 - 3 class1) 손을 대지 않는다 stack1) 하나만 존재  heap1)  // static - 클래스 맴버 변수 없이 어디서든 호출가능 , 자기자신을 저장//Awake - 스크립트가 비활성 상태에도 실행됨Single Tone  - static을 준다 , Awake로 주로 선언(관례)1) 하나만 존재 2) 손쉬운 접근 -> 주된 목적    (다른스크립트에 접근할땐 스크립트를 담을 공간을 만들고 불러내야한다) #region ----------- #endregion  Player -> 버튼 한번에 한칸만 이동Enemy ->한칸만 이동 코루틴 (coroutine) -> 흐름 제어 IEnumerator 로 시작하는 메소드는 -> 코루틴StartCoroutine() 메소드 선언 必 * 교재 레트로 9장 내용Vec.. 2023. 4. 4.
11. 간단 로그라이크 만들기 - 2 SerializeField(직렬화)  -> private 변수지만 inspector 접근 가능 List ->List gridPosition = new List(); private void InitList() { gridPosition.Clear(); //Clear -> 기존 데이터 삭제(텅텅비게 만든다) //이중 for문 -> 위치(1,1)~(6,6) -> mapSize=8 for (int x = 1; x Instantiate -> 생성하시오Quaternion.identity -> 회전하지 않는다 exit 생성 Instantiate(exit, new Vector3(mapSize - 1, mapSize - 1), Quaternion.identity);ene.. 2023. 4. 3.