Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

브래의 슬기로운 코딩 생활

C#프로그래밍 기말고사 정리 본문

1-2/C#프로그래밍

C#프로그래밍 기말고사 정리

김브래 2022. 12. 11. 18:31

오늘이 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 값을 (?, ??, ???)로 바꾼다

(Rotatenew 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