//设置子弹飞行方向 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); }
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); }
//设置子弹飞行方向 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); }
//设置子弹飞行方向 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); }
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); }