UNITY/Unity Study

C#

GREEN나무 2023. 8. 21. 05:25
728x90

 

 

if문

        if(experience < 70)
        {
            Debug.Log("목적 달성에 실패하셨습니다.\n경험치가 모자랍니.");
        }
        if(experience >= 70)
        {
            Debug.Log("목적달성!\n축하합니다!");
        }

-------------------

         if(experience < 70)
        {
            Debug.Log("목적 달성에 실패하셨습니다.\n경험치가 모자랍니.");
        }
        else if(experience < 90)
        {
            Debug.Log("목적달성!\n");
        }
        else
        {
            Debug.Log("☆☆☆목적달성!\n");
        }

 

 

반복문

        for (int i = 0; i <= 6; i++)
        {
            Debug.Log("내 순서는 " + (i+1) + "번째야.");
        }

 

     
        while (!isDead)
        {
            Debug.Log("현제 체력 : " + hp);
            hp = hp - 33;

            if (hp <= 0)
            {
                Debug.Log("플레이어는 죽었습니다.");
                isDead = true;
            }
        }

 


배열
리스트
        int[] students = new int[10];
        students[0] = 100;
        students[1] = 1;
        students[2] = 2;
        students[3] = 3;
        students[4] = 4;
        students[5] = 5;
        students[6] = 6;
        students[7] =7 ;
        students[8] = 8;

-------------------------------------

        int[] point = { 1,222,30,45,5};

 

배열 길이

       배열변수명.Lingth

 

 

 

정수와 정수 나눗셈에서 소숫점이하까지 구하고 싶을 때

     
    int sum = 555;
    int[] point = { 50, 3, 100, 102, 250, 50 };
    // Start is called before the first frame update
    void Start()
    {
        float average = 1.0f * sum/point.Length;
        Debug.Log(average);
    }

 

// 메서드 만드는 방법
/*
 // 메서드 작성 방법
  반환값의데이터형 메서드명(데이터형 인수, 데이터형 인수){
    메서드 처리;
    return 반환값;
  }

 // 메서드 호출 방법
    메서드명(인수, 인수)
  */

void Num (int a, int b)
{
    // 메서드 명은 대문자로 시작
    float average = 1.00f * a / b;
    Debug.Log(average);


void Start()
{
    Num(5,2);
}

----------------------------------


    float Num (int a, int b)
    {
        // 메서드 명은 대문자로 시작
        float average = 1.00f * a / b;
        return average;

    } 
    void Start()
    {
        float anser;
        anser = Num(5,2);
        Debug.Log(anser);
    }

 

 

상속

유니티(Unity)에서의 상속은 객체 지향 프로그래밍(OOP) 개념 중 하나로, 코드의 재사용성과 계층 구조를 구성하기 위해 사용되는 중요한 개념입니다. 상속을 통해 한 클래스(부모 클래스 또는 기본 클래스)의 속성과 메서드를 다른 클래스(자식 클래스 또는 파생 클래스)가 물려받아 사용할 수 있습니다. 

상속을 사용하면 다음과 같은 장점을 얻을 수 있습니다:

1. **코드 재사용성**: 부모 클래스의 속성과 메서드를 자식 클래스에서 다시 작성하지 않고도 활용할 수 있습니다. 이로써 유사한 기능을 가진 클래스를 반복해서 구현할 필요가 줄어듭니다.

2. **계층 구조**: 클래스 간의 계층 구조를 구축하여 객체들의 관계를 분명하게 표현할 수 있습니다. 이는 프로그램의 구조를 보다 명확하게 만들어 줍니다.

3. **확장성**: 기존의 클래스를 수정하지 않고도 새로운 기능을 추가할 수 있습니다. 새로운 기능은 자식 클래스에서 구현하거나 오버라이드할 수 있습니다.

 

 `Animal` 클래스는 기본적인 동물의 속성과 메서드를 가지고 있습니다. 이 클래스를 상속하여 특정 동물의 특성을 추가하거나 변경할 수 있습니다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Animal : MonoBehaviour
{
    // 동물에 한 변수
    public string name;
    public string sound;

    // 울음소리 재생하는 매서드
    public void PlaySound()
    {
        Debug.Log(name +  " : " +  sound);
    }
}


위의 코드에서 `Dog` 클래스는 `Animal` 클래스를 상속받습니다. 따라서 `Dog` 클래스는 `name`과 `sound` 변수, 그리고 `PlaySound()` 메서드를 사용할 수 있습니다. 또한 `Dog` 클래스에는 새로운 속성인 `isBarking`이 추가되었습니다. 이런식으로 상속을 통해 기존 클래스를 확장하거나 변형하여 필요한 기능을 구현할 수 있습니다.

상속은 유용한 개념이지만, 사용시 몇 가지 고려할 점이 있습니다. 예를 들어 다중 상속의 문제를 피하기 위해 C#에서는 하나의 클래스만 상속할 수 있습니다. 또한 상속 체인이 깊어질수록 코드의 복잡성이 증가할 수 있으므로 적절한 설계와 구조를 고려해야 합니다.

 

'UNITY > Unity Study' 카테고리의 다른 글

화살피하기 Unity 2D  (0) 2023.08.22
목적지까지 자동차 움직이기 Unity  (0) 2023.08.21
유니티 문법  (0) 2023.08.19
벡터 사이의 거리 구하기  (0) 2023.08.19
박스미는 만큼 HP 깎기  (0) 2023.08.19