-
총정리 (용어정리)유니티/유니티 메인 2024. 2. 3. 02:45
과제를 하려니 지금까지 너무 대충 공부를 해왔다는게 느껴져 다시 기본부터 복습하기로 했다
Hierarchy : Scene뷰에 배치한 오브젝트 이름을 목록으로 표시
Project : 게임에서 사용하는 리소스를 관리
Inspector : Scene 뷰에서 선택한 오브젝트의 상세정보
<메서드>
메서드 : 길어진 스크립트를 효과적으로 관리하기 위해 의미가 있는 처리 블록으로 분해하고 이름을 붙인 각각의 처리
→ 인수 : 메서드로 건네는 값
→ 반환값 : 메서드에서 돌려받는 값
인수는 여러개가 들어갈수 있으나 반환값은 무조건 1개이다
인수가 없을때는 int Add()
반환값이 없을때는 void Add(int a, int b)
int Add(int a, int b)
{
int c = a+b;
return c;
}
[반환 데이터형] [메서드명] ([인수1], [인수2])
{
return 반환값;
}
<클래스>
메서드 : 처리를 모아둔것.
클래스 : 메서드와 변수를 모아둔것. 관계가 있는 변수와 메서드를 하나로 합칠수 있어 스크립트 관리가 용이
class 클래스명
{
멤버 변수 선언;
멤버 메서드 구현;
}
작성한 클래스는 int나 string 등 데이터형으로 사용할 수 있다. 즉 Player 클래스를 만들면 Player형 사용가능
Player myplayer를 선언시 Player형 myplayer라는 변수를 만들수 있다는 뜻
이 myplayer 변수에는 플레이어의 실체를 대입하는데 이 실체를 인스턴스라고 한다
myplayer 변수가 가진 멤버 메서드나 멤버 변수를 사용하려면 myplayer.멤버 메서드명(변수명)을 사용
OO.xx = OO 클래스가 갖는 xx 메서드(또는 변수)를 사용한다
using System.Collections; using System.Collections.Generic; using UnityEngine; class Player // 클래스 Player { private int hp = 100; private int power = 50; public void Attack() // 클래스 Player의 메서드 Attack { Debug.Log(this.power + "만큼 데미지를 입혔다"); } public void Damage() // 클래스 Player의 메서드 Damage { Debug.Log(this.power + "만큼 데미지를 입었다"); } } public class NewBehaviourScript : MonoBehaviour { void Start() { Player myplayer = new Player(); // Player 클래스 사용을 위해 new 키워드로 인스턴스 제작 후 myplayer 변수안에 대입 myplayer.Attack(); 변수명.멤버 메서드명()으로 호출 myplayer.Damage(); } }
접근 수식자 : Public, Private등등... OO.xx라고 썼을때 다른 클래스에서 멤버로 접근 가능한지의 여부
Public => 다른 클래스에서 호출 가능
Private => 다른 클래스에서 호출 불가능
this 키워드 : 자신의 인스턴스를 카리키는 키워드
만약 this를 붙이지 않았는데 Attack 메서드에서 power라는 이름이 같은 변수를 선언한다면 그 값이 우선으로 쓰인다
'유니티 > 유니티 메인' 카테고리의 다른 글
Vector와 transform 응용, UI 표시, 효과음 삽입 (0) 2024.02.03 Vector2 클래스, transform, GetMouseButtonDown (0) 2024.02.03 물리엔진, 애니메이션, 씬 변환 (1) 2024.02.01 물리엔진 (0) 2024.01.31 프리팹, 충돌판정 복습 & 물리엔진 (1) 2024.01.31