
사운드 조절창에서 Slider로 소리 조절하기배경음 유지시키기 (Scene을 왔다갔다해도 배경음이 흘러나오게끔)https://www.youtube.com/watch?v=rdX7nhH6jdM&t=345sSound script System.Serializable

https://www.youtube.com/watch?v=GHUJMXtHKL0&t=2036sUnity HEART/HEALTH SYSTEM - 2D Platformer큰 순서 : 1\. Prefabs에 LifeMinus 아이템을 추가한다. (우선은 LifeMin

Canvas에 scoreText (UI - text)를 추가한다. ScoreManager script 생성 후 코드 작성itemManager script에 들어가 특정 아이템을 먹을 때 스코어 변화 코드 작성

scoreText gameObject를 복붙해서 distanceText 라 함.distance script를 만든다.이유 : 만약 Player의 x축 위치를 받는다면, EPLS에서 Player의 x축은 대략 -7로 고정임.Player의 속도도 0이므로, 거리로 삼으면

Game Over 되면 Game Over Panel이 뜬다.그럼 게임이 일시정지되면서, 이번판 Score가 떠야한다.또 메인버튼을 누르면 시작화면으로, 리플레이버튼을 누르면 게임이 다시 시작돼야한다.목숨은 0개에서 다시 3개로 돌아와야한다. PlayerManager

ClikeButton script에 코드를 추가한다. Playscene1에 GameOverButtons 게임오브젝트를 새로 생성한다. ClickButton 스크립트를 요소로 추가한다. ReplayButton에 들어가서 OnClick을 +1한 다음, GameOverBu

Instance란?유니티에서 객체를 생성하는 것을 인스턴스화 한다고 함.(예시) 클래스명이 Human 이고 john이라는 객체명을 가진 객체를 인스턴스화 시킨다고 하면 아래와 같다.(예시)는 john이라는 이름을 가진 Human 타입의 변수를 만들고, 그 변수에 Hum

타일이 무한으로 깔리도록 하자. 유니티 2D의 배경 무한 스크롤링과 아주 유사하다. X축으로 -20에 도착하면, 그 타일은 X = 10 으로 옮긴다. 그럼 무한 스크롤링! 또, 타일이 깔리는 속도는 배경이 빨라지는 속도랑 같아야 한다. 그래서 속도도 맞춰줌. S

AudioManager.Instance.PlayMusic() 을 이용해 배경음을 재생한다. 배경음은 다른 효과음이 재생되면 일시정지 됐다가, 다시 플레이되도록 한다. 일시정지 되는 시간은 0.5초로 한다. 이 기능을 구현하기 위해 코루틴을 이용한다. IEnumerato

배경음을 musicSounds\[]배열에서 찾아낸다. 이때 배경음은 "이름"으로 찾는다. 만약 Sound s가 null이면 못 찾았다는 로그를 반환하고, 찾으면 Pause()을 이용한다.일시정지된 배경음을 다시 재개하고 싶다. 따라서 일시정지할 때 pausedTime

코인이 제대로 저장된 모습!우선 코인은 public static으로 선언한다. 어디서든 코인에 접근 가능해야 하기 때문이다.시작할 때 (PlayerPrefs.HasKey("Coin")) 면 coin 은 PlayerPrefs의 GetInt을 이용해 코인 개수를 얻어온다.

사진처럼 1/n 확률로 덩굴이 잘 생성된다.자동으로 생성되는 Pipe는 이미 있음. 나는 Pipe와 기능이 비슷한, 특정 확률로 리스폰되는 장애물을 만들고 싶음.아래의 소스코드를 먼저 보는 걸 추천.SerializeField로 장애물을 인스펙터 창에서 조절할 수 있게

애니메이션 만드는 거 은근 쉬움!우선 애니메이션으로 만들고 싶은 이미지들을 Player 객체에 넣는다. 그럼 유니티에서 애니메이션 클립을 자동 생성해준다. 우선 고양이가 기본으로 걷는 애니메이션을 생성하기 위해, 이름을 BasicRun 으로 했다. 또, 애니메이션 컨트

“관심사의 분리” : 하나의 소프트웨어를 수행하는 기능에 따라 여러 모듈로 나누는 방법을 설명하는 설계 원리. 각 모듈은 모듈 자신이 완벽하게 캡슐화해야 하는 하나의 기능적 “관심사”를 책임진다.엔티티-컴포넌트 디자인은 구현 상속이 아닌 인터페이스 상속을 바탕으로 하는

애니메이션 파라미터를 이전에 Trigger로 연결했다. 그러면 애니메이션 2개만 서로 연결하기에는 적합하다. 예를 들어 점프와 달리기 애니메이션만 있는 경우는 적합하다.하지만 만약 애니메이션 상태 5개를 왔다갔다 해야한다면? 트리거로 연결하고 관리하기 번거롭고 짜증난다

내가 원하는 기능 : 예를 들어 A라는 게임 오브젝트 아래에는 B, C, D 게임오브젝트가 있다고 하자. B 게임오브젝트 아래에는 E,F,G,H,I 자식 게임 오브젝트가 있다. 나는 A의 자식 오브젝트 중 C,D를 먼저 화면에 불러오고, 0.5초 후에 E,F,G,H,I

원하는 기능 : 플레이어가 목숨이 깎일 때, 0.1초동안 빨갛게 깜빡거리고 싶다.코루틴 함수를 써야지!사실 깜빡거리는 코루틴 함수 자체는 아주 단순함. 그러나… 오류가 자꾸 발생했다. 3가지 방법으로 시도했는데, 전부 가지각색의 오류가 났다. ㅋㅋㅋ피격 시 빨갛게 되고

팀원이 클로버를 잘 구현해줬음! 클로버를 밟으면 고양이와 카메라가 뒤로 움직인다. 그러나 아직 문제가 남아있다. 뒤로 간 카메라가 다시 앞으로 안 온다. 그래서 패턴이랑 배경이 움직여야하는데, 안 움직이고 고정되는 오류가 발생함.Cinemachine이란? 카메라맨이다.

패턴이 이번 게임 중 최고난도 ^^. 일정한 곳에서 패턴을 생성하고, 일정한 곳에서 패턴을 파괴시킨다. 간단한 거 아니야? 싶겠지만, 클로버와 함께하면 다양한 문제가 발생한다... 클로버에 맞춰서 수정하는 건 앞으로 할 예정. 여튼 레츠고. 하나의 패턴이 x축 -30에

우선 ScriptableObject란? (유니티 공식 문서 참조) ScriptableObject는 클래스 인스턴스와는 별도로 대량의 데이터를 저장하는 데 사용할 수 있는 데이터 컨테이너입니다. ScriptableObject의 주요 사용 사례 중 하나는 값의 사본이

체력바를 만들어봅시당~ 큰 그림은 ScriptableObject인 HitPoint을 만들고, 이에 대한 정보를 HealthBar와 Player가 같이 쓴다. HealthBar cs와 Player cs가 어떻게 얽혀있는지 파악하는게 중요하다. 사담으로 타일맵 사용이랑

이번에는 이론적인 얘기를 해보자... 참고로 유니티 2D 게임 개발 책을 클론코딩 중입니다.유니티 2D 프로젝트는 모두 직교 투영 카메라를 사용한다. 직교 투영 카메라는 가까운 오브젝트와 멀리 있는 오브젝트를 같은 크기로 렌더링한다. 직교 투영 카메라에는 화면 높이의

예를 들어, 탄약의 양은 무기가 발사되었거나 새로 탄약을 얻는 두 가지 경우에만 변경된다. 이런 경우에만 프로퍼티가 변경되기 때문에, 이런 지점에서만 프로퍼티의 값을 검증하면 된다.get, set을 이용하면 유용하다.Mathf.Clamp : Clamps a value

유니티 2D 게임 개발 책을 읽고 참고하여 작성했습니다.싱글톤이란 애플리케이션이 끝날 때까지 딱 하나의 인스턴스만 만들어야 할 클래스가 있을 때 사용한다. 게임 로직을 조율하는 게임 매니저 클래스처럼 여러 클래스가 사용할 기능을 하나의 클래스로 제공해야 한다면 싱글톤이

character를 상속할 클래스는 다른 캐릭터와 피해를 주고 받고, 죽는 기능까지도 필요하다. 참고로 클래스 설계할 때 virtual, abstract을 잘 이용하면 무척 편하다.CCharacter 클래스(수정)리팩토링 할거임. Character 클래스의 hitPoi

EnemyObject 프리팹에 써클 콜라이더 2D의 트리거 속성을 선택하고 반지름 속성에 1을 입력한다. 이 써클 콜라이더는 적이 “볼” 수 있는 범위를 나타낸다. 트리거 콜라이더로 만들었으므로 다른 오브젝트를 통과할 수 있다. 콜라이더가 겹쳐서 플레이어를 “발견”한