プログラム研究 備忘録

java,C#,Unity等の備忘録です。経済理論も少し。

AIスクリプト メモ①

敵のAIを実装。

 

・待機時間を決める

float waitBaseTime = 2.0f;

・残り待機時間を用意

float waitTime;

・移動範囲を決める

float walkRange = 5.0f;

・初期位置を保存する

Vector3 basePosition;

 

Start関数で初期位置を保存しておき、残り待機時間にwaiteBaseTimeを設定する。

 

void Start(){

 status = GetComponent<CharacterStatus>();

charaAnimation = GetComponent<CharaAnimation>();

//初期位置を保存

basePosition = transform.position;

//待機時間

waitTime = waitBaseTime;

}

 

 

待機時間を減らして、無くなったら移動するようにWalking関数を実装。

(移動部分のみ記載)

void Walking(){

//待機時間があるのならば

if(waitTime > 0.0f){

//待機時間を減らす

waitTime -= Time.deltaTime;

//待機時間が無くなったら

if(waitTime <= 0.0f){

//範囲内の何処かへ

Vector2 randomValue = Random.insideUnitCircle * walkRange;

//移動先を設定する

Vector3 destinationPosition = basePosition + new Vector3(randomValue.x,0.0f,randomValue.y);

//目的地の設定

SendMessage("SetDestination",destinationPosition);

}

}

}