2017. 7. 2. 22:48
Unity/C#
Application.targetFrameRate=60; //룸스피드를 60프레임으로 맞춤
Application.runInBackground=true; //백그라운드상에서도 동작하게 한다
DontDestroyOnLoad(this.gameObject); //룸을 이동해도 오브젝트가 지워지지 않는다
UnityEngine.SceneManagement.SceneManager.LoadScene(룸); //Application.LoadLevel대신 들어온 녀석, 룸을 이동한다
Application.Quit (); //종료
월드 좌표: 게임내 가상좌표, 편의를 위해 기본좌표계라고 사용
스크린상 좌표: 좌x0, 우x픽셀길이, 상y픽셀높이, 하y0
Input.GetKey (키보드 번호): 키보드가 눌렸는지를 반환한다. 키보드 번호는 KeyCode에 따라 좌우된다.
Input.GetMouseButton(버튼 번호): 마우스가 클릭했는지를 반환한다. 0은 왼쪽 1은 오른쪽 2는 가운데
Input.GetAxis("Vertical") : 정의된 방향키의 위아래 값을 반환한다 -1이 위쪽
Input.GetAxis("Horizontal") : 정의된 방향키의 좌우 값을 반환한다 -1이 왼쪽
Input.mousePosition : 마우스의 스크린상좌표를 반환한다
Camera.main.ScreenToWorldPoint(좌표) : 스크린상 좌표를 기본좌표계로 변환
Camera.main.WorldToScreenPoint(좌표) : 기본좌표를 스크린상 좌표로 변환
Screen.width //화면가로해상도를 반환
Screen.height //화면세로해상도를 반환
screenHeightCentimeter = Display.main.systemHeight / ((Screen.dpi==0? 96:Screen.dpi) / 2.54f); //화면 세로 Cm높이를 반환
Screen.currentResolution.height //모니터 높이 해상도를 반환(Screen.height와 다른점은 창이 작아져도 최대값을 반환함)
Display.main.renderingWidth //현재 렌더링 되는 디스플레이 사이즈, screen.width랑 같다고 보면 된다
Display.main.systemWidth //물리적인 디스플레이 사이즈, 스크린 사이즈가 바뀌어도 기기레퍼런스값을 가져오므로 불변이다.
float canvasHei = GetComponentInParent<Canvas>().GetComponent<RectTransform>().rect.height; //현재 캔버스의 높이를 반환
(1 / screenHeightCentimeter) * canvasHei //1센치에 대한 캔버스 픽셀사이즈를 반환
//RectTransform계열
float wid = GetComponent<RectTransform>().sizeDelta.x; //rect.width와 동일
float wid = GetComponent<RectTransform>().rect.width; //sizeDelta.x와 동일
textUI.rectTransform.anchoredPosition.x //일반적으로 생각하는 rectTransform의 x좌표
textUI.rectTransform.localPosition.x //Anchors가 미적용된 x좌표, 가급적 사용자제
textUI.rectTransform.rect.x //작동안함, anchoredPosition써라
Physics2D.CircleCast(위치(vector2), 반지름, 각도(Vector2)) : 원충돌 검사 RaycastHit2D를 반환하고, (RaycastHit2D.transform!=null) 검사로 충돌했는지 확인가능
GetComponent<Rigidbody2D> ().AddRelativeForce (Vector2.right*1000f); //상대적인 정면을 향해 힘을 줌, 질량에 따라 바뀜
GetComponent<Rigidbody2D> ().velocity //속력을 반환
GetComponent<Rigidbody2D>().AddForce( (transform.position-target.position).normalized*-gravity); //특정방향으로 힘을 줌
Vector2.Distance(Vec2_A,Vec2_B); //벡터간의 길이값을 반환
Vector3.Distance(Vec3_A,Vec3_B); //벡터간의 길이값을 반환 3D
this.GetComponent<Renderer>().material.mainTexture //렌더러의 텍스처
this.GetComponent<SpriteRenderer>().sprite //렌더러의 스프라이트
GetComponent<AudioSource>().volume //게임오브젝트의 사운드 볼륨조절
GUI.Label (new Rect(x,y,wid,hei),text); draw_text와 같다
void OnGUI(){} //GUI계층의 함수를 사용할수 있다
void OnCollisionEnter2D(Collision2D col) //리지드바디2D가 충돌을 시작했을때 작동한다 OnCollisionStay2D는 항상 OnCollisionExit2D는 종료시,Collision을 Trigger로 바꾸면 트리거 작동 인수는 그대로
{
}
void OnCollisionStay(Collision col) //Enter와 다르게 항상 작동한다
{
}
GetComponent<Collider2D>().IsTouchingLayers() //충돌했는지 반환
Mathf.Clamp(value,min,max) //median함수와 동일함
'Unity > C#' 카테고리의 다른 글
유니티 각도계산 모음 (0) | 2017.11.06 |
---|---|
c# list(리스트) 관련 (0) | 2017.03.23 |
c# list와 array속도 비교 (3) | 2017.01.25 |