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);
}
}
}