Unity Artificial Intelligence Programming
上QQ阅读APP看书,第一时间看更新

Initialization

In the following code, we can see our TankController class. First, we set up our Start function and the Update functions.

The code in the PlayerTankController.cs file is as follows:

using UnityEngine; 
using System.Collections; 
 
public class PlayerTankController : MonoBehaviour 
{ 
    public GameObject Bullet; 
 
    private Transform Turret; 
    private Transform bulletSpawnPoint; 
    private float curSpeed, targetSpeed, rotSpeed; 
    private float turretRotSpeed = 10.0f; 
    private float maxForwardSpeed = 300.0f; 
    private float maxBackwardSpeed = -300.0f; 
 
    //Bullet shooting rate 
    protected float shootRate = 0.5f; 
    protected float elapsedTime; 
 
    void Start() 
    { 
 
      //Tank Settings 
      rotSpeed = 150.0f; 
 
      //Get the turret of the tank 
      Turret = gameObject.transform.GetChild(0).transform; 
      bulletSpawnPoint = Turret.GetChild(0).transform; 
    } 
 
    void Update() 
    { 
      UpdateWeapon(); 
      UpdateControl(); 
    } 

The first—and only—child object of our tank entity is the Turret object, and the first—and only—child of the Turret object is the bulletSpawnPoint. The Start function finds these objects and then assigns them to their respective variables. Later, after we create the Bullet object, we assign it from the inspector. Also, we included the Update function that calls our UpdateControl and UpdateWeapon functions, which we will create soon.