- 배열
: 동일한 특성을 가지며 일정한 규칙에 따라 몇몇 요소가 나열되어 있는 데이터 집합
new 키워드 : 스크립트에서는 만든다는 뜻에 가깝다.
배열을 만들려면 배열을 선언하고 바로 이어서 new를 이용해 배열에 필요한 크기를 지정해야 한다.
데이터타입[] 변수명 = new 데이터타입[크기]; 로 선언 및 할당해준다.
//정수 배열 선언
int[] points;
//배열 크기 지정
int[] points = new int[5];
//배열의 요소에 값을 대입할 때 간단히
int[] array = {2, 10, 5, 15, 3};
배열의 길이(요소 수)는 배열형의 변수명.Length를 써서 배열의 길이를 얻을 수 있다.
<배열에 포함되는 값의 평균을 구하는 스크립트>
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
void Start(){
int[] points = {83, 99, 52, 93, 15};
int sum = 0;
for(int i = 0; i < points.Length; i++){
sum += points[i];
}
int average = sum / points.Length;
Debug.Log(average);
}
}
위의 문제의 평균 값은 68.4가 정답이지만 68로 출력된다.
float average = sum / points.Length;
위의 코드처럼 float형으로 선언해도 똑같이 68이 나온다.
C#에서 정수끼리 나눗셈을 하면 소수점 이하가 버려져 결과가 정수가 되기 때문이다.
소수점까지 출력하고 싶다면 float형을 곱해주면 된다.
float average = 1.0f * sum / points.Length;
- 함수(Method)
: 길어진 처리를 의미가 있는 처리블록으로 분해하고 이름을 붙이는 구조
함수에 값을 전달해서 계산하거나 계산 결과를 돌려받을 수 있도록 하는 역할을 한다.
함수로 건네는 값을 인수, 돌려받는 값을 반환값이라고 한다.
인수는 여러 개를 전달할 수 있지만 반환값은 한 개로 정해져 있다.
스크립트에 처음부터 있었던 Start와 Update도 함수이다.
작성한 함수는 호출해서 사용한다.
- 작성 방법
반환값의 데이터형 함수명(데이터형 인수, 데이터형 인수){
메서드 처리;
return 반환값;
}
- 호출
함수명(인수, 인수 ...);
<Console 창에 Hello를 출력하는 SayHello 함수>
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
void SayHello(){ //인수와 반환값이 없는 함수
Debug.Log("Hello");
}
void Start()
{
SayHello();
}
}
<Console 창에 Hello + name을 출력하는 CallName 함수>
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
void CallName(string name){ //인수가 있는 함수
Debug.Log("Hello" + name);
}
void Start()
{
CallName("Tom");
}
}
<인수로 변수 2개를 받아 두 변수의 합계를 반환하는 Add 함수>
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
int Add(int a, int b){ //인수와 반환값이 있는 함수
int c = a + b;
return c;
}
void Start()
{
int answer;
answer = Add(2, 3); //인수에 변수도 지정 가능
Debug.Log(answer);
}
}
출처 : <유니티 교과서 개정 3판> 책
'study > unity' 카테고리의 다른 글
[unity] #6. 운세 룰렛 (2) | 2020.08.12 |
---|---|
[unity] #5. C# 스크립트 기초 - 클래스, 벡터 (0) | 2020.08.09 |
[unity] #3. 스크립트 개념 (0) | 2020.08.05 |
[unity] #2. 유니티 기능 알아보기 (2) | 2020.08.04 |
[unity] #1.시작 (0) | 2020.08.03 |