[Unity 학습 C#]2-1 정렬
여러 개의 적 데이터의 관리 상황을 구상하다.
적의 데이터 상황
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// 敵
public class Enemy{
public string name;
public int hp;
public int attack;
public Enemy(){
}
public Enemy(string name, int hp, int attack){
this.name = name;
this.hp = hp;
this.attack = attack;
}
// ステータスをコンソールに表示
public void DebugStatus(){
// string.Formatを使うと, + でつなげるよりも見た目わかりやすく文字を連結できる.
Debug.Log (string.Format ("名前; {0}, HP: {1}, 攻撃; {2}", name, hp, attack));
}
}
public class ArrayExample : MonoBehaviour {
void Start(){
Enemy en1 = new Enemy ("スライム", 5, 3);
en1.DebugStatus ();
}
}
이렇게 하면 적의 데이터를 표시할 수 있다.결과 이미지
그림으로 표시하면,
new Enemy ("スライム", 5, 3);
Enemy 생성,'en1'이라는 상자에 넣은 것 같아.
적 데이터 3 시(정렬 사용 안함)
적이 세 개라면 Start 함수 중 아래와 같다.
void Start(){
Enemy en1 = new Enemy ("スライム1", 5, 3);
Enemy en2 = new Enemy ("スライム2", 1, 2);
Enemy en3 = new Enemy ("スライム3", 4, 3);
en1.DebugStatus ();
en2.DebugStatus ();
en3.DebugStatus ();
}
이미지는 다음과 같다.각자 독립하다.
그래도 되지만 적의 수가 많으면 기술이 점점 어려워진다.
적 데이터 3 시(정렬 사용)
배열을 사용하면 다음과 같이 쓸 수 있다.
void Start(){
Enemy[] enemies = new Enemy[3];
enemies[0] = new Enemy ("スライム1", 5, 3);
enemies[1] = new Enemy ("スライム2", 1, 2);
enemies[2] = new Enemy ("スライム3", 4, 3);
enemies [0].DebugStatus ();
enemies [1].DebugStatus ();
enemies [2].DebugStatus ();
}
해설하기 전에 먼저 인상을 표시하다.우선, 이 문장에서.세 구역이 있는 상자를 만들어보자.
Enemy[] enemies = new Enemy[3];
영역마다 0부터 시작하는 숫자가 있는데,enemies[0]
이렇게 각 분야를 방문할 수 있다.이것은 0부터 매우 중요하다.
enemies[3]
모기장enemies[100]
등, 존재하지 않는 영역을 방문하려면 오류가 발생할 수 있으니 주의해야 한다.배열을 사용하지 않았을 때보다 변수의 수가 세 개에서 하나로 바뀌었고 줄은 한 줄 증가했다.
For 문을 사용하여 보다 지능적으로 작성할 수 있습니다.
길었으니까 헤어져.
Reference
이 문제에 관하여([Unity 학습 C#]2-1 정렬), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Teach/items/2714eda0e9e8449191b2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)