다른 색상의 객체를 번갈아 표시합니다.

6939 단어 UnityC#

입문


이 컨셉으로 만든 목적은 유니티에서 배열을 어떻게 활용해야 할지 몰라서 만들어봤어요.
자신은 초보자의 입장이지만 몇 번의 프로그래밍 서적을 통해 알게 되었다.작아도 되기 때문에 이 동작을 어떻게 해야 할지 생각해 보고 반복해서 시도하는 것과 틀리는 것이 가장 적합하다.

배열 기본 유형

int[] a = new int[3];   //型[] 変数 = new 型[配列数]

Game Object에 색을 칠합니다.


3D_objects 만들기(2개 이상 만들기, 색상 구분도 진행).

항목의 리소스 막대에서 마우스 오른쪽 버튼으로 클릭 - 작성 - 재료를 선택합니다.

Albedo의 빨간색 부분 선택 → 여기서 색상 선택

GameObject 스크립트


파일 이름은 Enemy입니다.3D 객체에 부착합니다.
콘텐츠가 0.5f가 지나면 Game Object가 사라집니다.
public class Enemy : MonoBehaviour {
    float time = 0;
    // Update is called once per frame
    void Update () {
        time += Time.deltaTime;

        if(time >= 0.5f)
        {
            Destroy(gameObject);
        }

    }
}

EmptyGameObject 스크립트 만들기


빈 GameObject를 만들고 여기에 3D_ 표시GameObject가 나타날 수 있도록 허용합니다.
• 스크립트(이름은 enemy2)
public class Enemy2 : MonoBehaviour {
    [SerializeField] GameObject cube1;   //GameObjectを配置

    [SerializeField] GameObject cube2;   //GameObjectを配置

    float time = 0;    //float型でtimeを0秒に設定する。

    GameObject enemy;  //GameObject型をenemyで宣言する。

    GameObject[] spaners = new GameObject[2];  //配列GameObject型で配列2つ作成する。

    // Use this for initialization
    void Start () {
        spaners[0] = cube1;  //配列0をCube1に指定
        spaners[1] = cube2;  //配列1をCube2に指定
    }
    // Update is called once per frame
    void Update () {

        var v = Random.Range(0, spaners.Length);  //Var型を宣言し乱数を生成。spanersは配列が2つなので最大値が2になる。

        time += Time.deltaTime;  //timeを加算し続ける。


        //enemyが無くかつtimeが1.2f以上の場合はenemyにクローンを生成する。
        if (enemy == null && time >= 1.2f)
        {
            enemy = Instantiate(spaners[v], transform.position, transform.rotation);   
        }

        //enemyがある場合timeを0にする。
        if(enemy == true)
        {
            time = 0;
        }

        //時間経過を見るためコンソールに時間を表示させる。
        print(time);
    }
}
EnptyEnemy에 스크립트를 부착합니다.

결과



이번에는 Game Object를 주황색과 녹색으로 설정했습니다.

마지막


나는 배열은 경만 쓰고 잘 사용하지 않는다고 생각했지만 실제 사용 후에는 랜덤 수와 잘 어울려 유니티에서도 사용할 수 있을지 걱정되는 것은 기우였다.

좋은 웹페이지 즐겨찾기