Exemplo n.º 1
0
 public void StartAttack()
 {
     if (mMoveState == EmoveState.SWING_move)
     {
         Vector3 startPos = transform.position;
         if (GetFirePlanePosition(out Vector3 endPos))
         {
             mMoveState = EmoveState.ATTACK_move;
             int bezNum = Random.Range(5, 10);
             InitBezLine(bezNum, startPos, endPos);
         }
     }
 }
Exemplo n.º 2
0
    private void Return_Home_move()
    {
        Vector3 pos = transform.position;

        if (IsPosSame(pos, mHomePos))
        {
            mMoveState = EmoveState.SWING_move;
            return;
        }
        float   moveSpeed = Mathf.Abs(Mathf.Sin(mBezRunTime));
        Vector3 newPos    = CalcBezResult(moveSpeed);

        transform.position = newPos;
    }
Exemplo n.º 3
0
    private void Attack_Beze_move()
    {
        tBezPoint attackBzObj = (tBezPoint)(mAttackPointList[mAttackPointList.Count - 1]);

        if (IsPosSame(attackBzObj.pos, transform.position))
        {
            mMoveState = EmoveState.RETRUN_HOME_move;
            int bezNum = Random.Range(5, 10);
            InitBezLine(bezNum, transform.position, mHomePos);
            return;
        }
        float moveSpeed = Mathf.Abs(Mathf.Sin(mBezRunTime));
        //float moveSpeed = mBezRunTime;
        Vector3 newPos = CalcBezResult(moveSpeed);

        transform.position = newPos;
    }
Exemplo n.º 4
0
    void Start()
    {
        moveSpeed        = 0.05f;
        maxMoveDistance  = 1.0f;
        mHomePos         = transform.position;
        mMoveState       = EmoveState.SWING_move;
        mBezRunTime      = 0;
        isRight          = true;
        mAttackPointList = null;
        Vector3 leftBtm_cornerPos = Camera.main.ViewportToWorldPoint(new Vector3(0f, 0f,
                                                                                 Mathf.Abs(-Camera.main.transform.position.z))); //这里的z轴在正交视图下意义不大
        Vector3 rightTop_cornerPos = Camera.main.ViewportToWorldPoint(new Vector3(1f, 1f,
                                                                                  Mathf.Abs(-Camera.main.transform.position.z)));

        mLeftPos   = leftBtm_cornerPos.x;
        mRightPos  = rightTop_cornerPos.x;
        mTopPos    = rightTop_cornerPos.y;
        mBottomPos = leftBtm_cornerPos.y;
    }