示例#1
0
 void Update()
 {
     timer   += 1 * Time.deltaTime;
     distance = Vector3.Distance(this.transform.position, chr.transform.position);
     if (range > distance)
     {
         active = true;
     }
     else
     {
         active = false;
     }
     if (active && timer > 5)
     {
         var _lineToChar  = (this.transform.position - chr.transform.position).normalized;
         var _angleToChar = Vector3.Angle(Vector3.up, _lineToChar);
         if (_lineToChar.x < 0)
         {
             if (_angleToChar < 22.5f)
             {
                 viewDirection = Vector3.up;
             }
             else if (_angleToChar < 67.5f && _angleToChar > 22.5f)
             {
                 viewDirection = new Vector3(0.5f, 0.5f, 0);
             }
             else
             {
                 active = false;
             }
         }
         GetComponent <Renderer>().enabled   = true;
         GetComponent <Collider2D>().enabled = true;
         bulletSpwn.direction = viewDirection;
         bulletSpwn.GetBullet();
         timer = 0;
     }
     else if (!active)
     {
         GetComponent <Renderer>().enabled   = false;
         GetComponent <Collider2D>().enabled = false;
     }
 }
示例#2
0
 public void Shoot()
 {
     bulletSpwn.direction = characterViewDirection;
     bulletSpwn.GetBullet();
 }