Ejemplo n.º 1
0
    //设置子弹飞行方向
    void setDirectionDivergingSpeed(bulletGetSpeed speedScript, float Speed, Vector3 pos, int num, int angle)
    {
        Vector3 speedDir = new Vector3(0, 0, 0);
        Vector3 enemyPos = this.transform.position;

        speedDir   = pos - enemyPos;
        speedDir.z = 0;
        //Debug.Log (num + " num : old Vector = " + speedDir);
        //speedDir.Normalize ();
        //Quaternion rot =  new Quaternion(0,0, Mathf.Sin(num*10/2) , Mathf.Cos(num*10/2) );
        speedScript.gameObject.transform.position += speedDir.normalized;
        Quaternion rot;

        if (num % 2 == 1)
        {
            num -= 1;
            rot  = Quaternion.Euler(0f, 0f, -1 * (num / 2) * angle);
        }
        else
        {
            rot = Quaternion.Euler(0f, 0f, (num / 2) * angle);
        }
        speedDir = rot * speedDir;
        //Debug.Log (num + " num : new Vector = " + speedDir);
        //speedDir.Normalize ();
        //speedDir.x += (num-1)*4;
        speedScript.shotBullet(speedDir.normalized * Speed);
    }
Ejemplo n.º 2
0
    void setBulletSpeed(bulletGetSpeed anyScript, float Speed)
    {
        Vector3 speed = new Vector3(0, 0, 0);

        if (player.rigidbody)
        {
            playerVelocity = player.rigidbody.velocity;
        }
        else
        {
            playerVelocity = new Vector3(0, 0, 0);
        }
        //Debug.Log("人物移动速度: " +playerVelocity );
        getBulletDirection();
        switch (bulletDirection)
        {
        default:
            break;

        case Direction.up:              speed = new Vector3(0, Speed, 0);         speed += new Vector3(playerVelocity.x, 0, 0) * velocityTransfer;
            break;

        case Direction.down:    speed = new Vector3(0, Speed * -1, 0);      speed += new Vector3(playerVelocity.x, 0, 0) * velocityTransfer;
            break;

        case Direction.left:    speed = new Vector3(Speed * -1, 0, 0);      speed += new Vector3(0, playerVelocity.y, 0) * velocityTransfer;
            break;

        case Direction.right:   speed = new Vector3(Speed, 0, 0);         speed += new Vector3(0, playerVelocity.y, 0) * velocityTransfer;
            break;

            break;
        }
        anyScript.shotBullet(speed);
    }
Ejemplo n.º 3
0
    //设置子弹飞行方向
    void setRandomSpeed(bulletGetSpeed speedScript, float Speed)
    {
        int     randomX  = Random.Range(-180, 181);
        int     randomY  = Random.Range(-180, 181);
        Vector3 speedDir = new Vector3(randomX, randomY, 0);

        speedScript.shotBullet(speedDir.normalized * Speed);
    }
Ejemplo n.º 4
0
    //设置子弹飞行方向
    void setBulletSpeed(bulletGetSpeed speedScript, float Speed)
    {
        Vector3 speedDir  = new Vector3(0, 0, 0);
        Vector3 enemyPos  = this.transform.position;
        Vector3 playerPos = getPlayerPosExact();

        speedDir   = playerPos - enemyPos;
        speedDir.z = 0;
        speedScript.shotBullet(speedDir.normalized * Speed);
    }
Ejemplo n.º 5
0
    void setBulletSpeed(bulletGetSpeed anyScript, float Speed)
    {
        Vector3 speed = new Vector3(0, 0, 0);

        getBulletDirection();
        switch (bulletDirection)
        {
        default:
            break;

        case Direction.up:               speed = new Vector3(0, Speed, 0);                break;

        case Direction.down:     speed = new Vector3(0, Speed * -1, 0);     break;

        case Direction.left:     speed = new Vector3(Speed * -1, 0, 0);     break;

        case Direction.right:    speed = new Vector3(Speed, 0, 0);                break;

            break;
        }
        anyScript.shotBullet(speed);
    }