find / name / print

void start(){
    GameObject monster = GameObject.Find("Cube");
    GameObject koko = GameObject.Find("Cube");
    
    monster.name = "Orc";
    
    print(koko.name);
    }

결과 = orc

 

 

Public -스크립트 외부에서 수치를 변경이 가능해진다.

[Sytem.NonSerialized] - public 변수를 외부에서 변경을 못하게 한다. 

(애초에 public으로 안하면 될것을 왜이리 하는지 알수는 없지만...나중에 알게되겄지...)

public int myAge =10;

[Sytem.NonSerialized]
public int myAge =10;

void start(){
	print (myAge);
    }
    

결과 = 10 이거나 외부에서 넣은 수치

 

 

변수사용

int gogo =10;

void start(){
    print("who is"+ gogo);
    print("what is"+ gogo);
    print("where is"+ gogo);
    }
    
   

결과 = who is 10 , what is 10 , where is 10

 

void 활용영역

void는 공허(빈)라는 뜻이고 함수를 만드는데 사용된다. 함수는 ()가 있으며 가능하면 함수명 앞은 대문자로 한다.

void Start(){
	GoGo();
    GoGo();
    GoGo();
    GoGo();    
    }
    
void GoGo(){
    print ("What");
    print ("How");
    print ("YEA");
    }

결과 = what How YEA, what How YEA, what How YEA

 

int intOk; // intOk라는 정수형 변수를 만든다.
float Afloat = 10.5f //Afloat라는 실수형을 만들고 그 값을 10.5라고 넣는다.
float Bfloat = 9.5f //Bfloat라는 실수형을 만들고 그 값을 9.5라고 넣는다.

void FloatToint() //FloatToint라는 함수를 만든다.
{
}

void FloatToint(flaot _Af, float _Bf, String _TEX = "디폴트") //()안에는 입력받을 것을 넣는데 사용된다.
// _TEX에 넣을것이 없을때 디폴트라는 글자를 출력한다.
{
	intOk =(int)(_Af+_Bf); //_Af과 _Bf 더한것을 int정수형으로 변경하여, intOK에 담는다.
    print(intOk); //intOK를 출력한다.
    print(_TEX);
    
}

void Start() // 유니티에서 첫번째 실행하는 함수이다.
{
	FloatToint(Afloat,Bfloat, "Good"); // Afloat은 _Af에 들어가게 되고, Bfloat은 _Bf에 들어가게된다.
                                       // Good은 _TEX안에 들어가게 된다.
}

 

 

retrun 은 void를 사용하지 않는 함수를 사용할때 필요하다.

void Start(){
     int yourAge = GetYourAge();
     print(yourAge);    
     }
     
     
int GetYourAge(){
    return 30;
    }

결과 = 30

 

오버로딩

void Start(){
   int answerInt = AddTo(12,2);
   int answerInt2 = AddTo(2,4,6);
   float answerFloat = AddTo(5.2f,2f);
   
   print(answerFloat);
  
}

int AddTo(int numA, int numB){
    int sum = numA +numB
    return sum;
}

int AddTo(int numA, int numB, int numC){
    int sum = numA + numB + numC
    return sum;
}




float AddTo(float numA, float numB){
    float sum = numA +numB
    return sum;
}

결과 = 7.2

 

조건문

int hp =100;

void Start(){
}

void OnMouseDonw(){
     hp = hp-10;
     
     if(hp < 1){
         print("killed")
         print("HP:" +hp);
         Destroy(gameObject);
         
     }else if(hp<20){
         print("hurt...");
         print("HP:" +hp);
     
     }else{
         print("OK");
         print("HP:" +hp);
         }
    }

 

Switch문

pulbic int myHp= 50;

void Start(){
   }

vod OnMouseDonw(){
   case 10:
      print("NONO")
      break;
   case 20:
      print("NO")
      break;
   case 30:
      print("more")
      break;
   default:
      print("OK")
      break;
      
  }

결과 = OK

 

for 와  while (Loop문)

------ for ------ 반복횟수가 명확할때 주로 사용한다.

for (시작수:언제까지:증가수)

void Start(){
}

void OnMouseDown(){
    for( int i =0 ; i<10 ; i++){
        MoveForward();
    }
}

void MoveForward(){
        transform.Translate(0, 0, 0.1f);
}

다른 응용법
<<<<
int add = 0; // 시작수

void Start()
{

	for(;;) // ;만 남기고 나머지는 따로 처리하는 방식
	{
	if(add>5) // 언제까지
		break; // if 멈춤
    num = add+2; //(add +=2) 증가수
    }
}
>>>>>

------ while ------ 반복횟수가 명확하지 않을때 주로 사용한다.(어찌되었건 비슷하다.)

    void OnMouseDown()
    {
        int count = 0;
        while (count < 10)
        {
            MoveForward();
            count++;
        }
    }

    void MoveForward()
    {
        transform.Translate(0, 0, 0.1f);
    }

배열

int[ ] numbers = new int[5];

void Start(){
     numbers[0]=6;
     numbers[1]=2;
     numbers[2]=11;
     numbers[3]=3;
     numbers[4]=9;

     print(numbers[3]);
}

------ public ------

    public int[] numb;

    void Start()
    {
    }

    void OnMouseDown()
    {
        print(numb[numb.Length - 1]);
    }

void Start(){
    int[] points = {10,20,30,40};
    
    int sum = 0;// 무언가 우선 들어있어야한다.
    for(int i=0; i<point.Lenght;i++)
    { sum +=points[i]; }
    
    int average = sum / points.Length;
    Debug.Log(average);
    }
    

결과: 25

 

new 와 static

new는 클래스의 변수를 사용할때 재지정하여 사용하는것.

Static은 클래수의 변수에 직접 변수를 넣어서 사용하는것.

public class TestA
{
	private int a;
    public int b; // 이 부분을 활용.
    public static int c; // static처럼 외부에서 직접 사용되는 변수를 정적변수라고 한다.
}

public class Test : MonoBehaviour
{
	TestA a1 = new TestA(); //위에 클래스의 변수를 새로 지정해야 정상적으로 작동한다.
    TestA a2 = new TestA();
    TestA a3 = new TestA();
    
    void Start()
    {
    	Abc();    
    }
    
    void Abc()
    {
    a1.b = 5; // 클래스에 접근하여 수를 대입하는 방식이다.
    a2.b = 1;
    a3.b = 10;
    
    TestA.c = 20; // static의 경우 new를 사용하지 않고 직접 대입할수 있다. 클래스 자체를 수정하는것이다.
    //변수를 만들 필요가 없이 직접 대입한다.
    
    print(a1.b);
    print(a2.b);
    print(ac.b);
    print(TestA.c);
    
    
    }
    
    
}

'Unity > C#' 카테고리의 다른 글

캐릭터 랜덤 모션  (0) 2020.11.02
EditorWindow  (0) 2020.10.30
간단한 애니메이션 스크립트  (0) 2020.09.08
MiniPorfiler  (0) 2020.07.29
object rotate by tag  (0) 2020.07.29