コード例 #1
0
    protected override void AIUpdate_undetect()
    {
        base.AIUpdate_undetect();
        float rand = GetAIRandomNumver();

        switch (aiState)
        {
        case AISTATE.AISELECT:
            if (rand < AddAIProbNum(aiStateNum_ud_walk))
            {
                SetAIState(AISTATE.APPROACH_WALK, 4.0f);
            }
            else if (rand < AddAIProbNum(aiStateNum_ud_wait))
            {
                SetAIState(AISTATE.WAIT, 4.0f);
            }
            else if (rand < AddAIProbNum(aiStateNum_ud_rest))
            {
                SetAIState(AISTATE.ATTACK, 5.0f);
            }
            break;

        case AISTATE.WAIT:
            break;

        case AISTATE.APPROACH_WALK:
            if (nowTargetPos == null)
            {
                rand         = GetAIRandomNumver();
                nowTargetPos = (Vector2)transform.position + new Vector2((rand > 50) ? 20 : -20, 0);
            }
            if (EnemyCtrl_fly.MoveToTarget_X(3.0f, (Vector2)nowTargetPos, moveSpeed))
            {
                SetAIState(AISTATE.WAIT, 2.0f);
                nowTargetPos = null;
            }
            break;

        case AISTATE.ATTACK:
            animator.SetTrigger("rest");
            SetAIState(AISTATE.WAIT, 5.0f);
            break;
        }
    }
コード例 #2
0
 protected override void AIUpdate_mapchengeFly()
 {
     base.AIUpdate_mapchengeFly();
     EnemyCtrl_fly.MoveToTarget_X(0.0f, mapChengeCtrl.GetNextLoadPosition(), EnemyCtrl_fly.MoveSpeed);
 }