본문 바로가기

코딩 공부/Unity C#

Unity 텍스트 출력 (Canvas, HUD) 게임에 사용자 인터페이스나 UI 요소를 추가하기 위한 큰 아이디어: Canvas에 해당 요소를 넣는다 (2D 게임에서) 씬 뷰에서 오른쪽 클릭 - UI - Canvas 클릭>>> 하이라키 창에 Canvas 오브젝트가 생성됨 - TextMeshPro 를 사용하기 위해서 추가적으로 패키지를 임포트할 필요가 있다캔버스를 추가할 때 이벤트 요소도 추가된다(메뉴 버튼과 상호작용하거나 게임의 일부로 텍스트 입력을 제공하는 경우 이벤트 시스템이 필요하다) - Canvas의 이름을 HUD로 변경- HUD에 Text - TextMeshPro 를 클릭하여 추가- 아까와 같이 실행하면 게임뷰에서 텍스트가 뜬다- 텍스트를 특정 위치에 고정시킬 수 있다- 해상도가 변화해도 텍스트는 특정 위치에 고정되어 있다- UI Sclae .. 더보기
문자열 추출 Substring 사용 예제 ,,Example:15,M,true위와 같은 문자열에서 각각의 요소를 추출하여 변수에 저장한다 - int- char - bool LastIndexOf 메서드 사용 불가, Substring 메세드를 사용하여 문제를 푼다  Substring: 문자열의 특정 부분을 추출하여 새 문자열로 반환하는 메서드1. Substring(int startIndex): 문자열의 startIndex 위치부터 끝까지의 부분 문자열을 반환2. Substring(int startIndex, int length): 문자열의 startIndex 위치부터 지정된 length 길이만큼의 부분 문자열을 반환  문제 풀이 static void Main(string[] args) { // 문자열 입력 및 변수 저장 .. 더보기
오디오 기본 사항 - 기본적으로 메인카메라에 Audio Listener가 부착되어 있다(게임 오브젝트 중 하나는 Audio Listener가 부착되어 있어야 한다)- 게임에서 실행되는 사운드를 스피커로 옮기는 역할을 하는 컴포넌트이다  Add Component - Audio - Audio Source 선택- Audio Source의 작동방식은 오디오 클립을 재생하는 것이다- 오디오 파일(ow)을 AudioClip으로 드래그하면 된다- Play On Awake 체크박스에 체크가 되어있다면 게임을 실행하자마자 오디오가 실행될 것이다 TeddyBear 스크립트 (마우스로 곰돌이를 누르면 소리를 내도록 하는 스크립트 작성)- 마우스 반응이 있을 때마다 번거롭게 오디오 클립을 가져오는 것은 비효율적이므로AudioSource 변수를.. 더보기
string 문자열 연산(문자열 추출, 문자열 데이터 타입 변환) - 첫 번째 문단: 사용자 편의를 위한 질문 출력과 이름, 퍼센트 입력- 두 번째 문단: ','(콤마)가 있는 위치를 찾고 인덱스 번호를 출력한다>>> 입력: bob, 0,1 출력: 3 (,의 인덱스 번호)IndexOf는 작은 따옴표 안에 특정 문자, 문자열, 리스트 번호를 넣어 해당 문구를 찾을 수 있다- 해당 값이 없으면 -1을 반환한다이름과 퍼센트 추출- SubString으로 문자열에서 일부 문자열을 추출한다- 0부터 ,의 앞까지 추출 (/bob/, 0.1)- ,의 뒤부터 끝까지 추출 (bob, /0.1/) 더보기
오브젝트의 충돌 및 질량 바닥에 붙어있는 여러 마리의 물고기를 클릭하면 물고기가 위로 올라간다물고기와 위에서 떨어지고 있는 곰돌이가 충돌하면 충돌 이펙트와 함께 두 오브젝트는 파괴된다물고기는 계속 생성된다 중력이 있는 상태에서 특정 오브젝트의 중력만 없애는 방법- Gravity Scale을 0으로 설정하면 해당 오브젝트의 중력이 사라진다 Fish 스크립트- 물고기가 곰돌이와 충돌했을 때에만 폭발할 수 있도록 태그 설정을 한다(TeddyBear) - 물고기가 위로 올라가서 화면 밖으로 나가면(OnBecameInvisible메서드) 물고기를 파괴한다- 물고기 오브젝트를 움직이는 y축의 힘이 5000이나 된다- 전에 다루던 오브젝트보다 물고기의 질량이 더 커졌으므로 힘의 크기도 더 커져야한다 TeddyBear 스크립트- 곰돌이가 다른.. 더보기
string 타입 예제 string 데이터를 입력하고 변수에 저장하는 예제를 다뤄본다static void Main(string[] args){ // 태어난 월 입력 Console.Write("당신은 몇 월에 태어났습니까? : "); string month = Console.ReadLine(); Console.WriteLine(month); // 태어난 일 입력 Console.Write("당신은 몇 일에 태어났습니까?: "); int day = int.Parse(Console.ReadLine()); Console.WriteLine(day); // 생일 하루 전 변수 int yesterday = day - 1; // 생일 하루 전 출력 Console.WriteLine.. 더보기
Bouncer 충돌 처리 오브젝트가 벽에 부딪힐 때마다 체력과 투명도가 감소하여 10번 부딪히면 파괴된다 - 중력 삭제, 카메라의 가장자리 부분에 엣지 콜라이더 생성 및 머티리얼(마찰0, 탄력10) 추가- Bouncer 스크립트와 오브젝트(rigidBoby2D, Bouncer 스크립트) 추가 처음 코드 작성(오류 발생)- Main Camera: 사면의 Edge Collider(Material: 0, 10)- Object: Bouncer, Circle Collider (Material: 0, 10), RigidBody2D (Material: 0, 10) public class Bouncer : MonoBehaviour{ // 게임 오브젝트의 체력 int healty = 100; float opacity = 1.0f.. 더보기
메서드 헤더 [access modifier] 엑세스 한정자: 누가 이 메서드를 사용할 수 있는 공개 범위를 정함 (디폴트: private)[static]: 메서드를 객체에서 호출하는지, 클래스에서 호출하는지 정함returnType: 반환할 데이터의 타입 더보기