브래의 슬기로운 코딩 생활
C#프로그래밍 기말고사 정리 본문
오늘이 12월 11일 일요일인데
내일은 C#프로그래밍 기말고사를 보는 날이다.
그래서 시험 범위를 정리 하였다.
C# 프로그래밍 기말고사
202114013 김동현
시험지에 나오지 않은 방향은 x축이 오른쪽
Debug.Log(Input.GetAxis(“Horizontal”);
- 오른쪽 화살표 키를 누르면 1, 왼쪽은 –1, 입력이 없으면 0
transform.localEulerAngles = (new Vector3(?,??,???) - ?,??,??? 만큼 회전
(회전은 축을 기준으로 +는 시계 방향, -는 반시계 방향으로 돈다.)
transform.localEulerAngles(new Vector3(10,0,0))
x축으로 10도 회전 (뒤로)
transform.localEulerAngles(new Vector3(-10,0,0))
x축으로 –10도 회전 (앞으로)
transform.localEulerAngles(new Vector3(0,10,0))
y축으로 10도 회전 (시계 방향)
transform.localEulerAngles(new Vector3(0,-10,0))
y축으로 –10도 회전 (반시계 방향)
transform.localEulerAngles(new Vector3(0,0,10))
- z축으로 10도 회전 (왼쪽 방향)
transform.localEulerAngles(new Vector3(0,0,-10))
z축으로 –10도 회전 (오른쪽 방향)
if (Input.GetKeyDown(KeyCode.Space)){} - 만약 스페이스 키를 누르면
KeyCode.RightArrow = 오른쪽 방향키
KeyCode.LeftArrow = 왼쪽 방향키
GetComponent<Rigidbody>().AddForce(Vector3.up*?) - Rigidbody가 윗방향으로 ?만큼의 힘이 가해짐
Vector3.down - 아래
Vector3.right - 오른쪽
Vector3.left - 왼쪽
Vector3.forward – 앞쪽
Vector3.back = Vector3.-forward - 뒤쪽
Input.GetMouseBotton(0) - 왼쪽 마우스 버튼이 눌려젔는가? true, false
Input.GetMouseBotton(1) - 오른쪽 마우스 버튼이 눌려젔는가? true, false
(int)(Input.GetAxis(“Horizontal”) - 왼쪽, 오른쪽 방향키가 눌려졌는지에 대한 숫자 정보
- (오른쪽 화살표 키를 누르면 1, 왼쪽은 –1, 입력이 없으면 0)
객체.transform.position.x – 객체의 x축 위치
객체.transform.rotation.x
객체.transform.position= new Vector3 (?, ??, ???)
- 객체의 position값을 (?, ??, ???)로 바꾼다.
객체.transform.localScale= new Vector3 (?, ??, ???)
- 객체의 Scale값을 (?, ??, ???)로 바꾼다.
객체.transform.Rotate(?, ??, ???)
객체의 rotation 값을 (?, ??, ???)로 바꾼다
(Rotate는 new Vector3() 를 쓰지 않는다.)
매서드 선언 및 호출
void OnCollisionEnter(Collision col)
{
Debug.Log(col.gameObject.name); // 충돌한 객체의 이름을 출력해라
}
충돌시 반대 방향으로 튕기기
col.gameObject.GetComponent<Rigidbody>().AddForce(-direction);
direction = transform.postion – col.gameObject.transform.position;
정규화 – 원하는 힘의 크기를 주기위해서는 정규화가 필요함
Vector3 direction = transform.position – col.gameObject.transform.position;
direction = direction.nomalized – 정규화
반대 방향 = -direction
void OnCollisionEnter(Collisioncol)
{
Vector3direction = transform.position - col.gameObject.transform.position;
direction = direction.normalized; //정규화
col.gameObject.GetComponent<Rigidbody>().AddForce(-direction * 0.5f);
}
OnTriggerEnter(Collider 변수) - 객체가 특정 영역을 지나갈 때 발생하는 이벤트
Is Trigger을 체크
using UnityEngine.SceneManagement; // //SceneManager을 가져오기 위한 네임스페이스
SceneManager.LoadScene(“Scene이름 "); - 씬을 다시 시작
배열
int [] 배열명 = new int[i]; // 배열 선언
int [] 배열명 = {a, b, c, d, e, ...} // 배열 선언과 정의
배열명 [0] = a
배열 이름.Length = 배열의 요소 수
배열을 이용하면 프로그램 간결화가 가능하다.
For 문 - 루프 안에 있는 문장들을 반복적으로 실행할 때 사용
for 루프는 일반적으로 카운터 변수를 이용해 일정 범위 동안 for 루프 안의 블록을 실행
Tag – Object들을 묶어서 종류별로 분류해서 사용하기 위한 것
GameObject [] coins = GameObject.FindGameObjectsWithTag(“blue1");
- coins 배열에 blue1 태그가 붙은 객체를 넣음
다른 객체의 메소드 이용
GameObject 파견객체 // 파견객체 선언
파견객체 = GameObject.Find(“다른 객체의 이름”)
파견객체.GetComponent<‘다른 객체에 부착된 소스 파일 이름’>(). 사용할 메소드();
숫자를 문자열로 변화시켜주는 메서드 – 숫자.ToString();
복제본 생성
Instantiate(복제할 프리팹, ~의 위치 , ~의 각도);
처리 시간
Time.deltaTime – 직전 프레임과 현재 프레임 사이의 시간, update()가 처리되는 시간
ex) float timeCount = 0; // 시간을 저장할 변수 선언
timeCount += Time.deltaTime; // 변수에 시간 저장
Contains() 메서드
private void OnCollisionEnter(Collision col )
{
if (col.gameObject.name.Contains(“rbox”))//충돌한 객체의 이름 중에 ‘rbox’가 있다면
{
Destroy(col.gameObject);// 충돌한 객체가 사라짐
}
}
시험문제
답: (가): Vector3.up / (나): Vector3.down
좋은것 같다!
'1-2 > C#프로그래밍' 카테고리의 다른 글
C#프로그래밍 14주차 정리 (0) | 2022.12.05 |
---|---|
C#프로그래밍 13주차 정리 (0) | 2022.11.28 |
C#프로그래밍 12주차 정리 (0) | 2022.11.21 |
C#프로그래밍 11주차 정리 (0) | 2022.11.14 |
C#프로그래밍 10주차 정리 (0) | 2022.11.07 |